首先需要确认Redis内存使用情况:
使用INFO memory
命令查看关键指标:
used_memory
:Redis分配的内存总量used_memory_rss
:操作系统看到的内存占用mem_fragmentation_ratio
:内存碎片率(大于1.5表示碎片严重)使用MEMORY STATS
命令获取详细内存统计
使用MEMORY USAGE key
分析大key的内存占用
使用更高效的数据类型:
缩短key名称:长key名会占用额外内存
maxmemory
限制最大内存选择合适淘汰策略:
maxmemory-policy volatile-lru # 对设置了过期时间的key使用LRU
其他策略:allkeys-lru, volatile-ttl等
启用内存压缩:
list-compress-depth 1
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
EXPIRE
SCAN
+DEL
删除无用数据通过以上方法的组合应用,可以有效控制Redis内存使用率,保持系统稳定运行。