相关问题:MySQL ⾥有 2000w 数据,Redis 中只存 20w 的数据,如何保证 Redis 中的数
据都是热点数据?
Redis 提供 6 种数据淘汰策略:
- volatile-lru(least recently used):从已设置过期时间的数据集(server.db[i].expires)
中挑选最近最少使⽤的数据淘汰 - volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰
- volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰
- allkeys-lru(least recently used):当内存不⾜以容纳新写⼊数据时,在键空间中,移除
最近最少使⽤的 key(这个是最常⽤的) - allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
- no-eviction:禁⽌驱逐数据,也就是说当内存不⾜以容纳新写⼊数据时,新写⼊操作会报
错。这个应该没⼈使⽤吧!
4.0 版本后增加以下两种: - volatile-lfu(least frequently used):从已设置过期时间的数据集(server.db[i].expires)中
挑选最不经常使⽤的数据淘汰 - allkeys-lfu(least frequently used):当内存不⾜以容纳新写⼊数据时,在键空间中,移
除最不经常使⽤的 key