Redis之最大内存置换策略
2017-09-08 19:56
381 查看
0.前言
Redis默认最大内存大小是应用程序可访问的内存大小, 32位windows下是2GB, linux下是3GB. 64位下可以访问的内存为2^64字节, Redis提供了maxmemory字段来限制使用的最大内存. 既然提供了最大内存限制, 那么当我们程序达到最大值时, Redis使用了多种策略进行置换.Redis建议最大内存设置为物理内存的一半。1.Redis置换策略字段maxmemory-policy
volatile-lru : 对具有生存周期的key进行LRU算法置换.volatile-random : 对具有生存周期的key进行随机置换.
volatile-ttl : 对具有生存周期的key随机进行抽样, 置换出抽样中生存周期最短的.
allkeys-lru : 对整个db进行LRU算法置换
allkeys-random : 对整个db进行随机置换
noeviction : 不进行置换
volatile-random和allkeys-random策略, Redis直接在相应的数据集上随机并置换.
volatile-ttl需要抽样, 抽样的大小由maxmemory-samples控制, 默认maxmemory-samples为5, 抽样越大算法精确度越高,但是消耗也越大.
volatile-lru和allkeys-lru是对抽样的数据中选出最近最久未使用的Key置换出去.这里抽样的大小默认是16, 如果我们设置maxmemory-samples并且大于16的话, 抽样值和最大的保持一致.Redis设置了一个可置换池, 大小为16, 每次先进行抽样, 抽样之后与置换池中的数据进行比较, 选出最近最久未使用的16个Key放入置换池中, 从置换池中再选择一个Key进行置换.
转:http://www.cnblogs.com/ourroad/p/4912365.html
相关文章推荐
- redis设置最大内存上限对置换策略的解读
- Redis之最大内存置换策略
- redis(5)、redis最大缓存设置策略
- CentOS的Redis内存分配策略配置
- 设置Redis最大占用内存
- redis最大缓存设置策略
- redis 置换策略
- 简述c++中string对象的内存分配策略?如何获得其可存储的最大字节
- 设置Redis最大占用内存
- 设置Redis最大占用内存
- redis(5)、redis最大缓存设置策略
- Redis 原理及应用(3)--内存淘汰机制、主从同步原理,HA策略(哨兵机制)分析
- redis maxmemory 置换策略
- REDIS 内存满时删除策略
- Redis内存节省策略
- Android开发尽最大能力省图片内存占用方案
- JVM内存回收策略介绍
- Redis的内存碎片
- 知名网站分享:PHP代替Perl,Redis置换MySQL,日处理过亿PV
- 为什么redis内存不宜过大