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>
相关推荐
lsc_blog5 小时前
年终自评别贴提交记录,把技术产出讲成变化
数据库·面试·职场和发展·跳槽·求职招聘
虹科网络安全9 小时前
RDI 多数据源管道:把分散的数据汇入统一 Redis 数据层
经验分享·redis·艾体宝·艾体宝it·艾体宝redis
我不会起名字32211 小时前
Redis 从 0 到 1(三十七·收官):36 篇浓缩成 1 张知识地图 + 50 项生产 Checklist
redis·go·知识体系·checklist·收官
Zan12 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
2601_9679873712 小时前
安装 Redis 或 Redis Stack
linux·windows·redis·macos·安装
这个DBA有点耶13 小时前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
小番茄程序猿14 小时前
Redis 编码压测 59 轮:HSET 快 23 倍是假象,SMEMBERS 慢 30 倍是真的
redis·后端
SelectDB14 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹15 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化