springboot redis 监听过期key值事件

摘要:
创建侦听器类maven配置<版本>弹簧靴起动器腹板<org.springframework.boot<弹簧靴启动器测试<版本>/版本>&书信电报;返回容器;

redis 中的key值过期后,触发通知事件

 

1、创建springboot工程,创建监听类

 springboot redis 监听过期key值事件第1张

maven配置

<dependencies>
        <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
        <version>1.5.10.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.5.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>1.5.10.RELEASE</version>
            <scope>test</scope>
        </dependency>
    </dependencies>             

创建两个类

RedisKeyExpirationListener
@Component
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {

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

    /**
     * 针对redis数据失效事件,进行数据处理
     * @param message
     * @param pattern
     */
    @Override
    public void onMessage(Message message, byte[] pattern) {
        // 用户做自己的业务处理即可,注意message.toString()可以获取失效的key
        String expiredKey = message.toString();
        System.out.println(expiredKey);
    }
}
RedisListenerConfig
@Configuration
public class RedisListenerConfig {
    @Bean
    RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {

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

2、redis配置

 使用默认配置,localhost:6379 不设置密码 

然后在此基础上把notify-keyspace-events Ex 这一行的注释打开

springboot redis 监听过期key值事件第2张

启动工程 redis-server.exe redis.windows.conf 

springboot redis 监听过期key值事件第3张

3、测试

 

执行命令 set a 1 ex 2

两秒后触发回调

 springboot redis 监听过期key值事件第4张

 

springboot redis 监听过期key值事件第5张

 

免责声明:文章转载自《springboot redis 监听过期key值事件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python 获取当前路径WebService基础入门(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

redis参数改进建议

1、修改stop-writes-on-bgsave-error为no当前配置为yes,分别修改redis.conf和当前实例#redis.confstop-writes-on-bgsave-error no #登陆redis执行config set stop-writes-on-bgsave-error no查看config get stop-writes...

很酷的页面布局框架

建高楼大厦时,我们总是先用钢筋水泥搭好骨架,然后再加砖添瓦,布置每套房屋。编写一个网页也是这样,须先将布局框架搭好稳固,之后才能游刃有余。本博文阐述如何实现了两栏布局(main栏和sub栏),三栏布局(main栏、sub栏和extra栏),以及布局中各栏的排列顺序。 本示例布局框架具有以下特性: 跨浏览器:兼容IE6。 稳固性:布局稳固,不受内容的影响。...

ehcache.xml

<?xml version="1.0" encoding="UTF-8"?> <!-- CacheManager Configuration ========================== An ehcache.xml corresponds to a single CacheManager. See instructions...

探究 Redis 4 的 stream 类型

 redis 2 10 月初,Redis 搞了个大新闻。别紧张,是个好消息:Redis 引入了名为 stream 的新数据类型和对应的命令,大概会在年底正式发布到 4.x 版本中。像引入新数据类型这样的变化在 Redis 的发展历史上非常罕见,所以称之为大新闻一点也不为过。至少很多介绍 Redis 的资料要跟着修订了。 背景 按作者的介绍,strea...

EasyUI 页面分页

DAO package com.hanqi.dao; import java.util.ArrayList; import java.util.List; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction...

SUSE12SP3-Mysql5.7安装

1、将以下安装包复制到服务器 mysql-community-client-5.7.24-1.sles12.x86_64.rpm mysql-community-server-5.7.24-1.sles12.x86_64.rpm mysql-community-libs-5.7.24-1.sles12.x86_64.rpm mysql-community-...