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

目录

  • 前言
  • 具体实现
    • 键空间通知设置的两种方式
        • 1.命令行设置
        • 2.修改配置文件 redis.windows.conf
    • Redis-x64-3.2 键空间通知的操作

前言

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 ""  // 注释

Redis-x64-3.2 键空间通知(keyspace notification)_第1张图片

  • 注意事项:
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-x64-3.2 键空间通知(keyspace notification)_第2张图片

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

Redis-x64-3.2 键空间通知(keyspace notification)_第3张图片

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

Redis-x64-3.2 键空间通知(keyspace notification)_第4张图片

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

Redis-x64-3.2 键空间通知(keyspace notification)_第5张图片

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

- End -
- 个人学习笔记 -
- 仅供参考 -

你可能感兴趣的:(Redis,Redis,键空间通知,Redis-x64-3.2)