1.需求描述
Redis中的数据都保存在内存中.如果内存中一直添加数据,则可能会造成内存填满,内存溢出的现象.需要控制redis的内存大小.
2.LRU算法
内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。
3.内存策略介绍
volatile-lru 在已经设定了超时时间的数据中,选择最少使用的数据进行删除. allkeys-lru 选择全部值,采用LRU算法进行删除. volatile-random 在设定了超时时间的数据中随机删除. allkeys-random 在所以的key中随机删除. volatile-ttl 在设定了超时时间的数据中,按照超时时间倒叙排列,删除马上过期的数据. Noeviction(默认策略) 如果选择该模式,在不删除数据,则直接报错给用户.
3.1内存策略修改
560行