首先需要确认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
EXPIRESCAN+DEL删除无用数据通过以上方法的组合应用,可以有效控制Redis内存使用率,保持系统稳定运行。