8.Redis内存回收策略

6中内存回收策略

  1. volatile-lru:采用最近使用最少的淘汰策略,淘汰超时的键值对中使用最少的
  2. allkeys-lru:对所有的键值对(包括有效的和超时的)采用最少淘汰策略
  3. volatile-random:随机淘汰超时的键值对
  4. allkeys-random:随机淘汰(有效和超时键值对)
  5. volatile-ttl:采用删除存活时间最短的键值对
  6. Noeviction:根本不采用删除策略,当内存满了后.只可以进行读操作,不可以进行写操作.

 

maxmemory-samples 3

Redis中的lru和ttl算法都不是精确的算法,都是近似算法.Redis不会对所有的键值对进行比较来确定最精确的时间值,来确定删除那个键值对.因为这将需要长时间的垃圾回收,造成卡顿.

 

maxmemory-samples 3 //取样为3

 

假设我们采用volatile-ttl算法,假设有五个超时键值对.采用maxmemory-samples 3,那么使用结果是删除A2

8.Redis内存回收策略_第1张图片

你可能感兴趣的:(Redis)