Redis 内存优化是对数据类型做一些参数上的优化
内存优化方式与参数
- 关闭 Redis 的虚拟内存[VM]功能,即 redis.conf 中 vm-enabled = no
- 设置 redis.conf 中 maxmemory ,用于告知 Redis 当使用了多少物理内存后拒绝继续写入的请求,可防止 Redis 性能降低甚至崩溃
- 可为指定的数据类型设置内存使用规则,从而提高对应数据类型的内存使用效率
-
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 -
在 Redis 的源代码中有一行宏定义 REDIS-SHARED-INTEGERS = 10000 ,修改该值可以改变 Redis 存储数值类型的内存开销