Redis的内存淘汰策略有哪些:
- noeviction:当内存不足以容纳新写入数据时,新写入操作会报错;
- allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key。(这个是最常用的);
- allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。设置过期时间的键空间选择性移除;
- volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key;
- volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key;
- volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除
lru和lfu是什么意思?
LRU是Least Recently Used的缩写,表示最近最少使用算法。它是一种缓存淘汰策略,用于在缓存空间不足时决定将哪些数据从缓存中淘汰出去。LRU算法会优先淘汰最近最少被访问的数据,即最长时间未被使用的数据。这种策略的优势在于,如果某个数据最近没有被使用过,那么很可能在将来也不会被使用到,因此可以优先将其淘汰,腾出空间给更有可能使用的数据。
LFU则是Least Frequently Used的缩写,表示最不经常使用算法。LFU是另一种缓存淘汰策略,它根据数据被访问的频率来决定淘汰哪些数据。LFU算法会优先淘汰访问频率最低的数据,即最少被使用的数据。这种策略的优势在于,如果某个数据使用频率很低,那么它在将来的使用可能性也较小,因此可以优先将其淘汰,为更有可能被使用的数据腾出空间。
所以,LRU和LFU都是常见的缓存淘汰策略,但侧重点略有不同。LRU注重的是最近的使用情况,而LFU则更注重的是数据的频率使用情况。
标签:写入,使用,Redis,内存,移除,231005,淘汰,数据 From: https://www.cnblogs.com/qdcream/p/17743062.html