redis的key的默认过期策略
时间: 2024-06-06 19:06:11 浏览: 13
Redis的key有两种过期策略:
1. **定时过期**:在设置key时,可以通过`EXPIRE`命令设置一个过期时间,Redis会在这个时间到达时自动删除这个key。
2. **惰性过期**:在访问一个key时,Redis会检查这个key是否过期,如果过期则自动删除。
默认情况下,Redis使用的是惰性过期策略,也就是说,只有当访问一个key时,Redis才会检查这个key是否过期。但是,如果设置了过期时间,Redis会在key过期时自动删除它。
相关问题
Redis过期Key的删除策略
Redis过期Key的删除策略一般有两种,一种是惰性删除(lazy deletion),即只有在Redis客户端对某个过期Key进行操作时才会删除;另一种是定期删除(定时器删除),即Redis每隔一段时间扫描一遍数据库,删除过期Key。其中惰性删除占用CPU资源非常低,但可能会出现过期Key一直存在而不被删除的情况;定期删除则会占用一定的CPU资源,但可以保证过期Key会被及时删除。Redis默认使用定期删除策略,可以通过配置文件修改策略。
redis的key的默认淘汰策略
Redis的key有多种淘汰策略,常见的有以下几种:
1. **noeviction**:不做任何淘汰,当内存满了之后,新的写入操作会报错。
2. **volatile-lru**:在所有设置了过期时间的key中,优先淘汰最近最少使用的key。
3. **volatile-ttl**:在所有设置了过期时间的key中,优先淘汰剩余时间最短的key。
4. **volatile-random**:在所有设置了过期时间的key中,随机淘汰一个key。
5. **allkeys-lru**:在所有key中,优先淘汰最近最少使用的key。
6. **allkeys-random**:在所有key中,随机淘汰一个key。
默认情况下,Redis采用的是`volatile-lru`策略,也就是说,在所有设置了过期时间的key中,优先淘汰最近最少使用的key。如果想要修改淘汰策略,可以通过修改`maxmemory-policy`配置项来实现。