摘要: 使用缓存是系统性能优化的第一黄金法则。 缓存的设计和使用对一个系统的性能至关重要,平时接触到项目无论多少也都会在某些层面用到缓存,比如用HashMap实现,Ehcache,memcached、redis等。Redis算是目前最火的方案之一,今天看了它相关的一些问题,总结汇总一下。 一、Redis的优 阅读全文
posted @ 2019-07-19 11:48 月亮风 阅读(593) 评论(0) 推荐(0) 编辑
摘要: RabbitMQ简介 必须一提的是rabbitmq是由LShift提供的一个消息队列协议(AMQP)的开源实现,由以高性能、健壮以及可伸缩性出名的Erlang写成(因此也是继承了这些优点)。 百度百科对RabbitMQ阐述也非常明确,建议去看下,还有amqp协议。 RabbitMQ官网:http:/ 阅读全文
posted @ 2019-07-19 11:31 月亮风 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 一. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。 数据库分布式核心 阅读全文
posted @ 2019-07-19 10:55 月亮风 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 一、 什么是 RPC Restful 采用 Http 进行通讯,优点是开放、标准、简单、兼容性升级容易; 缺点是性能略低。在 QPS 高或者对响应时间要求苛刻的服务上,可以用 RPC(Remote Procedure Call),RPC 由于采用二进制传输、TCP 通讯,所以通常性能更好。 .Net 阅读全文
posted @ 2019-07-19 10:45 月亮风 阅读(388) 评论(1) 推荐(0) 编辑
摘要: 在 Linux 命令中,chmod用于修改文件或者目录的权限。对于文件或者目录的普通权限,共有 3 种,分别为: r:读取; w:写入; x:执行。 此外,还有 3 种特殊权限,分别为: suid:Set User ID; sgid:Set Group ID; sticky:粘滞位。 在此,我们仅介 阅读全文
posted @ 2019-07-19 10:38 月亮风 阅读(246) 评论(0) 推荐(0) 编辑
摘要: `MQ MQ` 我们可以理解为消息队列,队列我们可以理解为管道。以管道的方式做消息传递。 场景: ​ 1.其实我们在双11的时候,当我们凌晨大量的秒杀和抢购商品,然后去结算的时候,就会发现,界面会提醒我们,让我们稍等,以及一些友好的图片文字提醒。而不是像前几年的时代,动不动就页面卡死,报错等来呈现给 阅读全文
posted @ 2019-07-19 10:30 月亮风 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 要知道为什么使用索引,要知道如何去使用好索引,使自己的查询达到最优性能,需要先了解索引的数据结构和磁盘的存取原理 如上这篇博客写的挺好,我就不再造轮子了,对如上博客,我总结如下几个重要的要点: 1. 不使用顺序查找,因为顺序查找比较慢,通过特定数据结构的特点来提升查询速度,这种数据结构就是可以理解成 阅读全文
posted @ 2019-07-19 10:14 月亮风 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 经常我写一个类,作为一个工具类,小伙伴会问我这个类的性能,这时我就需要一个标准的工具进行测试。 本文告诉大家如何使用 benchmarkdotnet 做测试。 现在在 github 提交代码,如果有小伙伴想要知道某个函数的性能,就会用 "BenchmarkDotNet" 进行测试。 例如我有一个函数 阅读全文
posted @ 2019-07-19 10:05 月亮风 阅读(1067) 评论(0) 推荐(1) 编辑
摘要: 要了解数据库索引的底层原理,我们就得先了解一种叫树的数据结构,而树中很经典的一种数据结构就是二叉树!所以下面我们就从二叉树到平衡二叉树,再到B 树,最后到B+树来一步一步了解数据库索引底层的原理! 二叉树(Binary Search Trees) 二叉树是每个结点最多有两个子树的树结构。通常子树被称 阅读全文
posted @ 2019-07-18 17:33 月亮风 阅读(1181) 评论(0) 推荐(1) 编辑
摘要: .net系统缓存封装设计 缓存管理的接口 ,可以用来保存键值对数据,设置缓存过期时间等功能,接口设计如下: 服务端缓存采用 实现,具体实现如下: 阅读全文
posted @ 2019-07-18 17:29 月亮风 阅读(250) 评论(0) 推荐(0) 编辑