Redis整合Springboot,实现消息订阅发布以及key过期监听

本文介绍了如何在Springboot应用中整合Redis,实现实时的消息订阅发布和Key过期监听功能。通过创建RedisConfig,设置RedisTemplate和StringRedisTemplate,配置RedisMessageListenerContainer和KeyExpirationListener,实现对特定频道的消息监听和Key过期后的处理。应用实例包括订单未支付缓存管理和会员过期事件触发等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整体思路

先通过pom引入redis,在properties或yml中添加redis配置,初步整合到Springboot中。然后实现RedisConfig。通过实现KeyExpirationEventMessageListener可以在过期或者时间发布的时候进行其他操作。先整体给大家看一下,如下图1所示。
图1:整体

具体实现

1.pom和properties就省略了。根据自己情况配置!
2.实现RedisConfig实现

  1. 继承CachingConfigurerSupport
  2. 引入连接工厂
  3. 定义RedisTemplate和StringRedisTemplate。这个只是操作redis的使用,跟事件监听无关
  4. 另外我还实现了下key的生成策略以及错误处理,有兴趣的可以看看
    最重要的两个Bean,分别是RedisMessageListenerContainer和KeyExpirationListener。一个是redis监听容器的实现,另一个监听器!

下面展示 RedisConfig的具体代码。

package com.dlnu.byname.common.redis;

import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.interceptor.CacheErrorHandler;
import org.springframework.cache.interceptor.KeyGenerator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Anyan-T

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值