redis数据淘汰机制
2017-03-30 23:04
351 查看
在redis中,redis允许用户更改设置最大内存maxmemory,在每次写入或更新等操作时候,redis会检查使用的内存,当内存达到最大值得时候,就会进行数据淘汰策略,从而换取内存出来
redis数据淘汰策略有6种:
volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰
volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰
volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰
allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰
allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
no-enviction(驱逐):禁止驱逐数据
redis 确定驱逐某个键值对后,会删除这个数据并,并将这个数据变更消息发布到本地(AOF
持久化)和从机(主从连接)。
如果设置了过期时间,在达到内存最大的时候,建议可以使用第一种volatile-lru淘汰策略
如果没有设置过期时间,在达到内存最大时候,建议使用allkeys-lru淘汰策略
使用的2种算法: http://blog.csdn.net/zdy0_2004/article/details/44685615 这个博客感觉不错,对于我们这些新手理解起来可能比较容易!
redis数据淘汰策略有6种:
volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰
volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰
volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰
allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰
allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
no-enviction(驱逐):禁止驱逐数据
redis 确定驱逐某个键值对后,会删除这个数据并,并将这个数据变更消息发布到本地(AOF
持久化)和从机(主从连接)。
如果设置了过期时间,在达到内存最大的时候,建议可以使用第一种volatile-lru淘汰策略
如果没有设置过期时间,在达到内存最大时候,建议使用allkeys-lru淘汰策略
使用的2种算法: http://blog.csdn.net/zdy0_2004/article/details/44685615 这个博客感觉不错,对于我们这些新手理解起来可能比较容易!
相关文章推荐
- Redis基础、高级特性与性能调优-内存管理与数据淘汰机制
- Redis 数据淘汰机制
- 深入剖析 redis 数据淘汰策略
- 深入剖析 redis 数据淘汰策略
- redis数据淘汰策略
- Redis data淘汰机制
- redis数据备份的两种机制rdb aof
- Redis学习笔记4--Redis数据存储优化机制
- redis -- 过期 淘汰 事务原子机制
- Redis淘汰机制(Eviction policies)
- Redis 数据同步机制分析
- Redis内存淘汰机制
- Redis内部运作机制---数据落地之RDB模式
- 深入理解Redis数据淘汰策略
- Redis数据存储优化机制(转)
- 深入剖析 redis 数据淘汰策略
- 深入剖析 redis 数据淘汰策略
- Redis的数据回写机制
- Redis教程4--Redis数据存储优化机制
- Redis内存淘汰机制