redis内存淘汰策略

1 volatile-LRU(least recently use ) 最近最久未用策略 底层是一个队列(用hashSet保证无重复元素),链表是限制容量的链表,也就是不定时间段内,固定数量的键,队尾就是最久未使用的,队首就是最近被使用的,那你可能会问,那比链表尾端更久远的键怎么了呢,我认为在一个key,被挤出 LRU 队列后,这个键就要被回收,当新的key生成,而内存不够用的时候,首先这个key会加入LRU队列,并把队尾key挤出,同时释放队尾key所占用的内存

2 allkeys-LRU

3 volatile-random

4 allkeys-random

5 volatile-TTL(time to live) 剩余生存时间策略 从设置了过期时间的key,挑选剩余生存时间最少的

6 noevicition 驱逐策略 不再响应写请求

注:volatile(易挥发的) 类似于到了过期时间就消失的,这里就是指被设置了过期时间的在这里插入图片描述