Redis-x64-3.2 键空间通知(keyspace notification)

前言

Redis2.8 后可以通过键空间通知(设置 notify-keyspace-events)接收那些以某种方式改变了Redis数据空间的事件通知,关于 Redis 键空间通知的文章有很多,这里只是记录个人在 Redis-x64-3.2 版本下实现过程中出现的问题。


具体实现

键空间通知设置的两种方式

1.命令行设置

  • redis启动后进入redis-cli模式
  • 命令行设置 notify-keyspace-events
config set notify-keyspace-events Ex
  • Ex说明
Ex,E(Keyevent events)代表键事件通知,x(Expired events)代表过期事件,每当有过期键被删除时发送
  • 注:该设置会在 redis 终端关闭后失效

2.修改配置文件 redis.windows.conf

  • 修改键空间通知事件 notify-keyspace-events
修改 - 887行 notify-keyspace-events Ex  // 取消注释
修改 - 892行 notify-keyspace-events ""  // 注释

在这里插入图片描述

  • 注意事项:
1、notify-keyspace-events "" 为默认配置,需注释,否则键空间通知无法生效
2、notify-keyspace-events Ex 需顶格(不能有空格),否则启动会报错 " Invalid argument during startup: unknown conf file parameter  "

Redis-x64-3.2 键空间通知的操作

  • 启动reids
redis-server ./redis.windows.conf

在这里插入图片描述

  • 新打开一个终端,添加过期事件订阅
redis-cli 
psubscribe __keyevent@0__:expired

在这里插入图片描述

  • 新打开一个终端,添加过期事件
redis-cli 
setex name 10 coisini // 添加一个 key为name 过期时间为10s 值为coisini 的键

在这里插入图片描述

  • 添加过期事件订阅经10秒后输出如下信息:

在这里插入图片描述

  • Then:过期Key订阅成功了。

- End -
梦想是咸鱼
关注一下吧
posted @ 2021-08-24 19:14  Maggieq8324  阅读(306)  评论(0编辑  收藏  举报