redis监听key失效

前言

​ 使用redis进行大数据量信息存储时,如存储百万级别设备/通道信息,如果我们想获取设备/通道是否失效,常规的方法是定时获取,但是这样对于应用来说太消耗性能。

​ redis提供了一种key事件监听的机制,应用可以监听key失效事件,当key失效时,redis会将key失效事件回调通知。

修改

1)修改redis.conf配置

bash 复制代码
# 修改前
#  notify-keyspace-events

# 修改后
notify-keyspace-events Ex

# 屏蔽
# notify-keyspace-events ""

重启redis

bash 复制代码
systemctl restart redis
# 如果修改云redis参数无需重启

示例

1)打开redis-cli,启动监听(示例包含监听到的事件)

bash 复制代码
[root@localhost redis]# redis-cli -p 6379
127.0.0.1:6379> PSUBSCRIBE channel __keyevent@*__:expired
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "channel"
3) (integer) 1
1) "psubscribe"
2) "__keyevent@*__:expired"
3) (integer) 2

# 2s后收到key为"name"过期失效的消息
1) "pmessage"
2) "__keyevent@*__:expired"
3) "__keyevent@0__:expired"
4) "name"

2)启动另一个redis-cli,设置一个有效期为2s的key

bash 复制代码
[root@localhost ~]# redis-cli -p 6379
# 设置name的有效期为2s,value为1
127.0.0.1:6379> SETEX name 2 1
OK
127.0.0.1:6379>
相关推荐
DBA小马哥4 小时前
国产数据库加速替代Oracle:聚焦信创背景下的平滑迁移与性能突破
数据库·oracle
漂亮的小碎步丶4 小时前
【7】SQL性能优化实践:EXPLAIN解读+慢查询分析+移动代理商结算案例
数据库·sql性能优化
小股虫5 小时前
从Tair虚拟桶到数据库分库分表:解耦逻辑与物理的架构艺术
数据库·架构·解耦
车载测试工程师5 小时前
CAPL学习-CAN相关函数-CANdb API类函数
网络·数据库·学习·capl·canoe
默 语5 小时前
RAG实战:用Java+向量数据库打造智能问答系统
java·开发语言·数据库
北极糊的狐5 小时前
若依报错org.springframework.dao.DataIntegrityViolationException
数据库·mysql
dazhong20125 小时前
Mybatis 敏感数据加解密插件完整实现方案
java·数据库·mybatis
薛晓刚5 小时前
2025 年度个人回顾总结
数据库
TDengine (老段)5 小时前
TDengine 在智能制造领域的应用实践
java·大数据·数据库·制造·时序数据库·tdengine·涛思数据
男孩李5 小时前
浅谈PostgreSQL 模式(SCHEMA)
数据库·postgresql