Redis中key过期回调

redis中key的六大淘汰机制

noeviction:当内存使用达到阈值的时候,执行命令直接报错

allkeys-lru:在所有的key中,优先移除最近未使用的key(推荐)

volatile-lru:在设置了过期时间的键空间中,优先移除最近未使用的key

allkeys-random:在所有的key中,随机移除某个key

volatile-random:在设置了过期时间的键空间中,随机移除某个key

 

volatile-ttl:在设置了过期时间的键空间中,具有更早过期时间的key优先移除。

redis.conf中配置maxmemory <bytes> 比如:maxmemory 300mb开始执行淘汰

redis.conf中配置maxmemory-policy  比如:maxmemory-policy volatile-lru

 

key失效后回调配置

redis.conf中配置notify-keyspace-events "Ex"

@Configuration
public class RedisListenerConfig {
    @Bean
    RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        return container;
    }
}

 

noeviction:当内存使用达到阈值的时候,执行命令直接报错

allkeys-lru:在所有的key中,优先移除最近未使用的key(推荐)

volatile-lru:在设置了过期时间的键空间中,优先移除最近未使用的key

allkeys-random:在所有的key中,随机移除某个key

volatile-random:在设置了过期时间的键空间中,随机移除某个key

volatile-ttl:在设置了过期时间的键空间中,具有更早过期时间的key优先移除。

 

posted on 2020-05-10 07:50  JAVA-ROAD  阅读(4409)  评论(0)    收藏  举报

导航