生产环境Redis中的热点key如何发现并优化?

售前免费咨询热线: 4 0 0 - 1 8 6 - 0 9 0 5
汇智资讯Huizhi information

当前位置:首页 »生产环境Redis中的热点key如何发现并优化?

生产环境Redis中的热点key如何发现并优化?

日期:2020-10-29 14:54:14 访问量: 来源:

Redis作为高性能的非关系数据库,在目前主流的网站都是非常广泛的应用。读写效率可达8-10w/s。一般作为缓存数据库,都是载入网站的一些热点性质额数据,而不是把缓存当做数据库来使用。

只有找到的是网站中的热点数据,才能够把Redis的性能发挥到极致,一般查找缓存的热点的key,常用的方式分为客户端的和我们服务的两大类。

生产环境Redis中的热点key如何发现并优化

客户端

1、客户端其实是距离key”最近”的地方,因为操作的Redis的命令就是客户端发出的。例如客户端设发送操作key命令的时候,把调用的key和调用的次数记录到日志里面进行统计,然后再服务端进行日志分析的统计,得到热点的key值,这样就在Redis缓存key的时候就可用统计出来的热点数据来操作。

2、凭借经验,进行预估,每一个网站在开始运行的时候都会存在热点场景,或者说访问的频率在非常高场景下,比如说像微博的热搜榜、商城里面活动促销商品,那这些就是我们可以提前将Key作为热点Key进行存储

3、采用抓包工具进行评估:Redis使用TCP协议与客户端进行通信,存在网络上面的通信,这时候就可以基于抓包工具去分析网络所携带的key的数据,然后做好访问key频率统计。通信协议采用的是RESP。

例如:tcpdump、Wireshark等工具

注:RESP(REdis Serialization Protocol, redis序列化协议)协议与Redis服务器交互。RESP是序列化数据之后,在建立在TCP通道上进行传输

生产环境Redis中的热点key如何发现并优化

服务端

1、使用monitor命令统计热点key可以记录redis的所有操作命令,记录并分析monitor日志得到key的访问频率。(monitor可能会造成性能问题,所以要选择好时机)

2、采用第三方开源项目,如facebook开源项目redis-faina,获取最近操作命令的热点key、热点命令、耗时分布等数据。为了减少网络开销以及加快输出缓冲区的消费速度,monitor要尽可能在本机执行。

汇聚行业精英智慧

致力于高端IT技术人才培养

助力万千学员成就IT梦!

汇智动力

扫码关注 领取资料

www.hzdledu.cn

相关阅读Reading

全国热线:400-186-0905

总部热线:028-6547-1147

周一至周日9:30-24:00

我要咨询
汇智动力微信

汇智动力微信公众号

')