1当key被删除后,redis的内存不会返回给操作系统
2redis会使用删除掉key后空闲的内存空间
3需要配置maxmemory,如果不配置这个限制,redis可能会用尽机器的内存,同时建议配置 maxmemory-policy 为noeviction
在redis2.2版本开始,很多的数据类型可以被优化压缩至特定的大小,hash,list,由整数组成的set,和排序set,当小于给定的元素数量,达到最大元素大小的时候,会被以一种非常有效的方式编码,能减少10倍的内存,这种对于用户和api完全是透明的,这种事cpu换内存的方式,对于不同的类型使用下面的配置来指定特定的编码方式,来指定有多少条目,达到多大后使用压缩
hash-max-zipmap-entries 512 (hash-max-ziplist-entries for Redis >= 2.6)
hash-max-zipmap-value 64 (hash-max-ziplist-value for Redis >= 2.6)
list-max-ziplist-entries 512
list-max-ziplist-value 64
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
set-max-intset-entries 512
尽可能的使用hash
当redis的内存使用接近设置的最大值得时候,需要看设置的是什么样的策略,会去删除数据:
回收策略参见
http://www.redis.cn/topics/lru-cache.html
redis使用内存方式
转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java 程序内存使用采集
java 程序内存使用采集的方法详解。
Memory Java java -
【Redis】Redis内存使用优化方法
当优化Redis的内存使用时,可以深入考虑以下几个方面,从配置调整到实际操作细节,全面提升Redis的性能和效率。
redis 数据库 缓存 Redis 数据 -
java获取所有正在运行的对象
1.class文件从类加载过程到卸载的5个阶段: 加载 ➡ 链接(验证、准备、解析) ➡ 初始化(使用前准备) ➡ 使用 ➡ 卸载(1):加载首先根据类的全类名获取定义此类的二进制字节流。并将字节流所
java获取所有正在运行的对象 java jvm 字节码 JVM