当前位置: 代码网 > it编程>数据库>Redis > redis key过期监听的实现示例

redis key过期监听的实现示例

2024年05月15日 Redis 我要评论
1、pom.xml文件中添加redis依赖<!-- redis 缓存操作 --><dependency> <groupid>org.springframewo

1、pom.xml文件中添加redis依赖

<!-- redis 缓存操作 -->
<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-data-redis</artifactid>
</dependency>

2、application.yml文件中添加redis相关配置

# redis 配置
redis:
  # 地址
  host: localhost
  # 端口,默认为6379
  port: 6379
  # 数据库索引
  database: 0
  # 密码
  password:
  # 连接超时时间
  timeout: 10s
  lettuce:
    pool:
      # 连接池中的最小空闲连接
      min-idle: 0
      # 连接池中的最大空闲连接
      max-idle: 8
      # 连接池的最大数据库连接数
      max-active: 8
      # #连接池最大阻塞等待时间(使用负值表示没有限制)
      max-wait: -1ms

3、redis配置类redisconfig中注册bean–redismessagelistenercontainer

@configuration
@enablecaching
public class redisconfig extends cachingconfigurersupport
{
    
    /**
     * redis key 过期事件订阅需要
     * @param redisconnectionfactory
     * @return
     */
    @bean
    public redismessagelistenercontainer redismessagelistenercontainer(redisconnectionfactory redisconnectionfactory) {
        redismessagelistenercontainer container = new redismessagelistenercontainer();
        container.setconnectionfactory(redisconnectionfactory);
        return container;
    }
}

4、自定义redis key过期监听器,继承keyexpirationeventmessagelistener类

@component
public class rediskeyexpirationlistener extends keyexpirationeventmessagelistener {

    @autowired
    private stringredistemplate stringredistemplate;

    public rediskeyexpirationlistener(redismessagelistenercontainer listenercontainer) {
        super(listenercontainer);
    }

    @override
    public void onmessage(message message, byte[] pattern) {
        //注意:只能获取失效的key值,获取不到key对应的value值的。
        string expirekey = message.tostring();
        try {
            if (!stringutils.isempty(expirekey)) {
            	//具体处理逻辑......
            }
        } catch (exception e) {
            e.printstacktrace();
        }
    }
}

 到此这篇关于redis key过期监听的解决方法的文章就介绍到这了,更多相关redis key过期监听内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com