查看内存指标的方法
used_memory | redis分配器分配的内容总量 |
used_memory_human | 可读的格式返回used_memory |
used_memory_peak | 内存使用的最大值,既峰值 |
used_memory_peak_human | 可读的格式返回used_memory_peak |
used_memory_rss | redis进程占用的物理内存总量 |
mem_fragmentation_ratio | used_memory_rss/used_memory ,表示内存碎片率 |
mem_allocator | redis所使用的内存分配器 |
内存消耗划分
自身内存 | used_memory |
对象内存 | used_memory |
缓冲内存 | used_memory |
内存碎片 | used_memory_rss - used_memory |
内存优化
- 必要时使用scan_object idletime命令批量查询哪些键长时间未被访问,找出长时间不访问的键进行清理,可降低内存占用
- 在条件允许的情况下,建议字符串长度控制在39字节以内,减少创建redisObject内存分配次数
- 尽量减少频繁使用append,setrange命令,降低预分配带来的内存浪费和内存碎片化
- 数据优先使用整数,比字符串类型更节省空间