栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

redis 过期键监听 demo

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

redis 过期键监听 demo

  • redis监听器容器:
package com.dgis.tis.master.util.redis;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;


@Configuration
public class RedisListenerConfig {
    @Bean
    @Primary
    public RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        return container;
    }
}
  • key 过期监听器:
package com.dgis.tis.master.util.redis;

import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Component;



@Component
@Slf4j
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {

    private final RedisUtil redisUtil;
    public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer, RedisUtil redisUtil) {
        super(listenerContainer);
        this.redisUtil = redisUtil;
    }

    @Override
    public void onMessage(Message message, byte[] pattern) {
//        String key = new String(message.getBody());
        String expiredKey = message.toString();
        log.info("expiredKey:{}", expiredKey);
        if(expiredKey.startsWith("wxToken")){
            log.info("wxToken已过期");
            // 删除该key
            redisUtil.removeValue("wxToken");
        }
    }
}

redis 配置修改conf:

notify-keyspace-events Ex

注:只能获取到失效的 key 而获取不到 value,在设计 key 的时候可以考虑把 value 一并放到 key,然后根据规则取出 value

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021424.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号