SpringBoot Redis 监听事件

语雀
加入语雀,获得更好的阅读体验

注册 或 登录 后可以收藏本文随时阅读,还可以关注作者获得最新文章推送

立即加入

Redis 监听事件

SpringBoot 监听 key 失效时间

1. 依赖

<div class="lake-codeblock-content"><div class="CodeMirror CodeMirror-sizer"><pre class="cm-s-default"><span class="lake-preview-line"><span class="lake-preview-line-number lake-lm-pad-level-0"></span><span class="lake-preview-codeblock-content">  <span class="cm-operator">&lt;!--</span> <span class="cm-variable">redis</span> <span class="cm-operator">--&gt;</span>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

</a>


2. 定义 Redis 配置类

<div class="lake-codeblock-content"><div class="CodeMirror CodeMirror-sizer"><pre class="cm-s-default"><span class="lake-preview-line"><span class="lake-preview-line-number lake-lm-pad-level-1"></span><span class="lake-preview-codeblock-content"><span class="cm-meta">@Configuration</span>

public class RedisListenerConfig {
@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {

RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
return container;
}
}

</a>


3. 定义监听器

<div class="lake-codeblock-content"><div class="CodeMirror CodeMirror-sizer"><pre class="cm-s-default"><span class="lake-preview-line"><span class="lake-preview-line-number lake-lm-pad-level-1"></span><span class="lake-preview-codeblock-content"><span class="cm-meta">@Component</span>

public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {
private final static Logger logger = LoggerFactory.getLogger(RedisKeyExpirationListener.class);

@Autowired
private HmServiceDetailMapper hmServiceDetailMapper;

/
* @Author WuRui
* @Description //TODO
* @Date 10:19 2020/4/24
* @Param [listenerContainer]
* @Return
*/
public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
super(listenerContainer);
}

/
* @Author WuRui
* @Description //TODO 监听权益结束时间
* @Date 10:19 2020/4/24
* @Param [message, pattern]
* @Return void
*/
@Override
public void onMessage(Message message, byte[] pattern) {
// 获取失效的key
String expiredKey = message.toString();
if(expiredKey.endsWith("_serviceId")){
logger.info(Redis 监听任务执行=====”);
// 执行业务逻辑
}
}


}

</a>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值