JAVA学习 docker容器 regex xcode plugins import jquery去掉空格 jquery绑定事件的方法 js鼠标离开事件 bentley软件介绍 oracle数据库版本 增删改查sql语句 mysql错误代码1064 git下载代码到本地命令 oracle增加主键 oracle查看所有数据库 docker导入镜像 python基础 python模块 python的数据类型 python编程教程 java正则表达式 java实战 java语法基础 java使用mysql java基本类型 java中的队列 java链接mysql数据库 java开发环境安装 java日期格式化 java数据类型转换 python的用途 只狼鬼佛 免费书籍 js验证码 php正则匹配 电脑书籍下载 抠图教程 directx卸载 幽灵推
当前位置: 首页 > 学习教程  > 编程语言

redis超时监听,超时后执行JAVA代码处理业务逻辑

2020/8/31 14:39:03 文章标签:

1、修改配置文件redis.conf中的:notify-keyspace-events Ex

2、配置类

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

3、监听器

@Slf4j
@Component
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {
 
    public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
        super(listenerContainer);
    }
 
    @Override
    public void onMessage(Message message, byte[] pattern) {
        String expKey = message.toString();
        String date = new DateTime().toString("yyyy-MM-dd HH:mm:ss");
        log.info("{}---该key(游戏邀请):{} 失效了~", date, expKey);
        log.info("业务代码执行结束...");
    }
}

4、测试代码

    @RequestMapping(value = "/inviteJoin", method = RequestMethod.GET)
    public String inviteJoin(){
        String id = StringUtil.randomUUID();
        String date = new DateTime().toString("yyyy-MM-dd--HH:mm:ss");
        redisUtils.set(id , date, 10);
        return "在"+date+"邀请成功,唯一标识:"+id ;
    }

本文链接: http://www.dtmao.cc/news_show_150272.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?