6、Redis内存碎片优化

1、Redis内存碎片是如何形成的

一是内存分配器的分配策略,内存分配器一般是按固定大小来分配内存,而不是按实际使用大小来分配。例如8字节、16字节、32字节...,2KB,4KB,8KB等,按程序申请时最接近某个固定值。

二是Redis键值大小不一和删改操作,Redis申请内存分配空间时,本身就会有键值大小不一的空间需求,然后这些键值会被修改和删除,如修改变大或变小,就需要额外占用空间或释放不用的空间。Redis删除键值也会释放内存空间,形成空闲内存。

如图所示内存碎片形成: 

大量内存碎片的存在,会造成Redis内存利用率低。

2、如何判断内存碎片

Redis提供了INFO命令,可以利用INFO命令来查询:

INFO memory
# Memory
used_memory:1024000000
used_memory_human:1024.00M
used_memory_rss:1998000000
used_memory_rss_human:1.86G
...
mem_fragmentation_ratio:1.86

mem_fragmentation_ratio 大于1小于1.5时,一般来说是合理的

 mem_fragmentation_ratio 大于1.5时,内存碎片率已经超过50%了,这个时候我们就要采取一些措施来降低内存碎片率了。

mem_fragmentation_ratio <

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值