淘汰策略
设置了过期时间:
volatile-lru: 淘汰最近最少使用的
volatile-random: 随机淘汰
volatile-ttl: 淘汰将要到期的
未设置过期时间:
allkeys-random: 所有key中随机淘汰
allkeys-lru: 所有key中淘汰最近最少使用的
默认的淘汰策略:
no-enviction: enviction译为嫉妒???? no? 不嫉妒? 啥子意思哦
新进来请求内存的直接报错.
过期策略
定时删除:
添加缓存的时候设置了key的超时时间, 到点下班
优点: 节省了很多内存空间, 给要加班的同事提供更多的空间
缺点: 同一时间过多的key到期, 会占用过多的cpu资源处理过期的key, 影响效率. 地铁挤得很, 还排队
惰性删除:
key已经过了超时时间, 当访问那个key的时候再去删除, 返回null, 18:01了要我加班, 谁知道我18:00就溜了
优点: 不会同一时间占用过多cpu资源, 需要删除时再操作, 要你加班的时候再加班, 别没事找事
缺点: 可能会导致过多的缓存没被删除, 导致内存泄露. 累计的工作太多, 出来混的...
定期删除;
指定一个策略, 定期删除redis中过期的key
优点: 通过制定删除的时长和频率, 减少内存占用和同一时间下cup资源占用. 自己得把控加班时长和频率
缺点: 内存占用友好度不如定时删除, cup占用友好度不如惰性删除. ----别跟我整那些花里胡哨的, 不加班是最好的选择 !!!
内容来源于网络 , 不足的地方大家多多指出.