1.需求描述

  Redis中的数据都保存在内存中.如果内存中一直添加数据,则可能会造成内存填满,内存溢出的现象.需要控制redis的内存大小.

 

2.LRU算法

      内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。

 

3.内存策略介绍

volatile-lru 在已经设定了超时时间的数据中,选择最少使用的数据进行删除.

allkeys-lru   选择全部值,采用LRU算法进行删除.

volatile-random 在设定了超时时间的数据中随机删除.

allkeys-random 在所以的key中随机删除.

volatile-ttl   在设定了超时时间的数据中,按照超时时间倒叙排列,删除马上过期的数据.

Noeviction(默认策略)      如果选择该模式,在不删除数据,则直接报错给用户.

 

3.1内存策略修改

560行

redis中存储策略