前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决redis运行期间key值过期但是内存memory依然占用过高

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

作者头像
93年的老男孩
发布2019-12-18 16:00:06
2.1K0
发布2019-12-18 16:00:06
举报

要解决这个问题,首先要了解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会自动清理碎片,回收内存。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/02/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档