Redis 内存优化方式

Redis 内存优化是对数据类型做一些参数上的优化

内存优化方式与参数

  1. 关闭 Redis 的虚拟内存[VM]功能,即 redis.conf 中 vm-enabled = no
  2. 设置 redis.conf 中 maxmemory ,用于告知 Redis 当使用了多少物理内存后拒绝继续写入的请求,可防止 Redis 性能降低甚至崩溃
  3. 可为指定的数据类型设置内存使用规则,从而提高对应数据类型的内存使用效率
    • Hash 在 redis.conf 中有以下两个属性,任意一个超出设定值,则会使用 HashMap 存值
      • hash-max-zipmap-entires 64 表示当 value 中的 map 数量在 64 个以下时,实际使用 zipmap 存储值
      • hash-max-zipmap-value 512 表示当 value 中的 map 每个成员值长度小于 512 字节时,实际使用 zipmap 存储值
    • List 在 redis.conf 中也有以下两个属性
      • list-max-ziplist-entires 64
      • list-max-ziplist-value 512
  4. 在 Redis 的源代码中有一行宏定义 REDIS-SHARED-INTEGERS = 10000 ,修改该值可以改变 Redis 存储数值类型的内存开销