6中内存回收策略
- volatile-lru:采用最近使用最少的淘汰策略,淘汰超时的键值对中使用最少的
- allkeys-lru:对所有的键值对(包括有效的和超时的)采用最少淘汰策略
- volatile-random:随机淘汰超时的键值对
- allkeys-random:随机淘汰(有效和超时键值对)
- volatile-ttl:采用删除存活时间最短的键值对
- Noeviction:根本不采用删除策略,当内存满了后.只可以进行读操作,不可以进行写操作.
maxmemory-samples 3
Redis中的lru和ttl算法都不是精确的算法,都是近似算法.Redis不会对所有的键值对进行比较来确定最精确的时间值,来确定删除那个键值对.因为这将需要长时间的垃圾回收,造成卡顿.
maxmemory-samples 3 //取样为3
假设我们采用volatile-ttl算法,假设有五个超时键值对.采用maxmemory-samples 3,那么使用结果是删除A2