redis的过期策略、内存淘汰策略
时间: 2023-10-02 13:04:00 浏览: 112
redis过期策略和内存淘汰机制.pdf
Redis的过期策略和内存淘汰策略是两个不同的概念。
1. 过期策略
Redis中的过期策略是指当一个键过期后,Redis如何处理它。Redis中有两种过期策略:
- 定时删除:当一个键过期时,Redis不会立即删除它,而是将它加入到一个专门的过期键列表中。Redis会以一定的频率遍历这个过期键列表,将过期的键删除。
- 惰性删除:当一个键过期时,Redis不会立即删除它,而是在客户端访问这个键时再检查它是否过期,如果过期了就删除它。
默认情况下,Redis使用的是惰性删除策略。
2. 内存淘汰策略
Redis中的内存淘汰策略是指当Redis的内存达到一定的限制时,Redis如何选择要删除的键。Redis中有多种内存淘汰策略:
- noeviction:当内存达到限制时,Redis会直接返回错误,不允许再写入新键。
- allkeys-lru:当内存达到限制时,Redis会选择最近最少使用的键删除。
- allkeys-random:当内存达到限制时,Redis会随机选择一个键删除。
- volatile-lru:当内存达到限制时,Redis会选择过期时间最近的最少使用的键删除。
- volatile-random:当内存达到限制时,Redis会随机选择一个过期时间最近的键删除。
默认情况下,Redis使用的是noeviction策略,即当内存达到限制时,Redis会直接返回错误。
阅读全文