ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

解决redis运行期间key值过期但是内存memory依然占用过高

2019-10-29 12:00:09  阅读:570  来源: 互联网

标签:used human 占用 redis 内存 key memory


要解决这个问题,首先要了解redis info信息中几个数据的意义:

  used_memory:810575104 //数据占用了多少内存(字节)  used_memory_human:773.02M //数据占用了多少内存(带单位的,可读性好)  used_memory_rss:885465088  //redis占用了多少内存  used_memory_rss_human:844.45M //redis占用了多少内存(带单位的,可读性好)   used_memory_peak:2001274696 //占用内存的峰值(字节)  used_memory_peak_human:1.86G //占用内存的峰值(带单位的,可读性好)  mem_fragmentation_ratio:1.09   //内存碎片率   里面需要注意的有:   used_memory_human,代表redis数据数据占用内存的大小,
used_memory_rss_human,代表服务器时下为redis分配的内存大小,也就是redis具体占用内存的大小   used_memory_peak_human,代表redis在使用期间最高占用了多少内存。   mem_fragmentation_ratio = used_memory_rss / used_memory   mem_fragmentation_ratio,越低越高,趋向于1,大于1的部分redis碎片占用的大小。范围在1 - 1.5,大于1.5说明碎片过多,必须要清理了。   redis的碎片清理:   redis4.0以前内存碎片过多的情况下只能关闭redis重启后才能生效。   redis4.0以后新增了配置项:activedefrag   redis的配置项activedefrag默认为no,未开启,不会自动回收内存清理碎片,   当需要清理碎片的时候,使用命令    config set activedefrag yes   将activedefrag的配置设置为开启状态。则redis会自动清理碎片,回收内存。

 

标签:used,human,占用,redis,内存,key,memory
来源: https://www.cnblogs.com/xzlive/p/11757960.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有