`
m17185082163
  • 浏览: 29870 次
文章分类
社区版块
存档分类
最新评论

java 监听 redis 过期事件

 
阅读更多

1、引用redis的包

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

2、配置redis监听容器

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

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

3、创建redis过期监听

@Component
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {
    //from fhadmin.cn
    @Override
    public void onMessage(Message message, byte[] pattern) {
        // 过期key
        String expiredKey = message.toString();
        System.out.println(expiredKey + "过期了");
        // 下面可以通过redis工具获取值或者执行业务逻辑
    }

    public RedisKeyExpirationListener(RedisMessageListenerContainer redisMessageListenerContainer ){
        super(redisMessageListenerContainer);
    }
}

4、测试是否可行

这个时候你可以搞个api测试下,设置过期事件为30秒,看下当key过期时,是否会正常被监听到。

5、注意事项

注意:监听器能监听到redis中过期的key是有个要求的,必须在redis配置文件里面设置能够监听到key过期事件,配置文件去目录下找,

分享到:
评论

相关推荐

    监听redis过期key,做对应业务处理

    本文将详细介绍如何在Spring Boot应用中集成Redis,并设置监听Redis中的过期Key,以便在Key过期时执行相应的业务处理。 首先,我们需要在项目中添加Redis和Spring Data Redis的相关依赖。在`pom.xml`文件中,添加...

    springboot+redis过期事件监听实现过程解析

    要实现Redis过期事件监听,需要创建一个Redis监听器,负责监听Redis中的过期事件。可以使用Spring Boot的@Configuration注解来配置Redis监听器。 Redis监听器实现 Redis监听器的实现需要继承...

    Java调用-Redis.doc

    在调用Jedis之前,确保本地的Redis服务器已经启动并且监听在默认的6379端口。如果需要更改端口或其他配置,可在Redis的配置文件`redis.conf`中进行设置。 **3. 基本操作** - **连接Redis**:使用Jedis实例化一个...

    spring boot+redis 监听过期Key的操作方法

    Spring Boot+Redis 监听过期 Key 的操作方法 本文主要介绍了使用 Spring Boot 和 Redis 监听过期 Key 的操作方法,这种方法在订单业务中非常有用,可以用来设置订单的有效期限,到了有效期限后如果还未支付,就需要...

    RedisUtils_java_redisutils_mad2fo_local36x_teachini_

    10. **Key空间通知**:RedisUtils 可能会监听 Redis 的 Key 空间通知,实时获取键的生命周期事件,如创建、删除、更新等,便于实现动态监控或缓存同步。 在实际使用 RedisUtils 时,需要注意配置文件中的 Redis ...

    java面试redis篇基本面试必问

    Redis 是一款高性能的键值存储系统,广泛应用于...5. **事件驱动**:通过监听数据库的变更事件,自动更新缓存。 在面试中,了解这些基本概念和技术细节,能够展示你对Redis的深入理解和实际应用能力,为求职面试加分。

    redis分布式锁实现抢单秒杀

    当库存减少到零时,可以通过设置过期时间或者监听键的`PUBLISH/SUBSCRIBE`来停止抢单。 4. **队列**:在抢单过程中,为了避免瞬间大量请求导致服务器压力过大,可以引入消息队列(如RabbitMQ或Kafka),将用户请求...

    Spring boot -redis

    通过以上步骤,我们可以实现 Spring Boot 应用中对 Redis 的高效集成,并能够监听并处理 Redis 的键过期事件。这在需要实时监控缓存状态或在键过期后执行特定操作的场景下非常有用。同时,这种集成方式也允许我们在...

    基于java的使用Redis存放Session RedisManager.zip

    这些监听器会在相关事件发生时调用RedisManager来同步Session状态。 4. **Session ID管理**:为了在Redis中正确存储和查找Session,我们需要将Java的Session ID映射到Redis的键(key)。通常,Session ID会作为...

    redis+mysql使用学习

    - **实时同步**:使用发布/订阅模式或监听MySQL binlog,实时同步数据库变更到Redis。 4. **缓存更新策略** - **Write-Through**:写操作先执行MySQL,然后同步到Redis,保证数据一致性。 - **Write-Behind**...

    spring-data-redis 1.7.6

    7. **事件监听**:Spring Data Redis支持事件监听,可以监听Redis中的某些操作(如键的创建、删除等),并在应用程序中进行相应的处理。 8. **脚本支持**:通过`ScriptOperations`,开发者可以执行Lua脚本,这在...

    spring data redis api jar

    7. **过期策略和事件监听**:可以设置键的过期时间,同时支持键空间通知,允许监听Redis中的特定事件,如键的添加、删除、更新等。 8. **地理空间操作**:对于支持地理位置数据的Redis扩展,Spring Data Redis也...

    springboot整和jwt、shiro、redis实现token自动刷新

    当JWT即将过期时,可以监听Redis的事件,触发Token的刷新。同时,为了实现自动刷新,客户端也需要配合,当收到新的JWT时,自动替换旧的令牌。 此外,还需要编写一个TokenFilter,这个过滤器会在每次请求时检查请求...

    jedis-2.9.0 最新版Redis客户端CSDN下载

    - 事件监听:允许注册监听器,监听Redis中的某些事件,如键的过期或删除。 使用Jedis进行开发的基本步骤: 1. 创建Jedis实例:`Jedis jedis = new Jedis("localhost", 6379);` 2. 配置连接池:使用`JedisPoolConfig...

    tomcat-redis依赖jar包

    - 缓存失效:当数据库数据发生变化时,需要同步更新Redis中的缓存,可以使用监听模式或主动刷新策略。 - 分布式锁:在多线程或多服务器环境下,Redis可以作为分布式锁,确保并发操作的安全。 4. **性能优化** - ...

    redis服务端和客户端

    在持久化方面,RDB(Redis Database Backup)是通过定期或在特定事件触发时保存内存快照到磁盘,而AOF(Append Only File)则是记录所有写操作的日志,确保数据安全性。主从复制则允许创建多个从节点,以实现数据...

    redis从入门到精通

    - JDK环境:虽然Redis是用C语言编写的,但部分高级特性(如Jedis客户端)需要Java环境的支持。 - 其他依赖库:安装过程中可能需要GCC等编译工具。 2. **安装步骤**: - 下载Redis源码包。 - 解压后进入目录,...

    redis常用命令,redis配置文件,redis持久化,redis事务,redis主从复制,jedis的使用

    Jedis 是一个 Java 语言的 Redis 客户端库,提供了便捷的方式来访问 Redis 服务器。 * Jedis 连接 Redis:使用 Jedis 的连接池来连接 Redis 服务器 * Jedis 执行命令:使用 Jedis 的命令执行器来执行 Redis 命令 ...

    基于Redis的Java Method缓存包.zip

    - **监听模式**:使用Redis的发布/订阅功能,当数据源更新时发送消息,订阅端接收到消息后清除或更新缓存。 - **缓存穿透与击穿**:防止查询不存在的数据导致缓存穿透,可以设置空值缓存;防止大量缓存同一时间...

    spring-data-redis.jar

    5. **事件监听**:Spring Data Redis允许注册事件监听器,监听Redis中的键空间通知,这在实时更新或者缓存失效策略中非常有用。 6. **Reactive编程**:随着Reactor和Project Reactor的流行,Spring Data Redis也...

Global site tag (gtag.js) - Google Analytics