Keyspace 通知使得客户端能够经过订阅频道或模式,来接收那些以某种方式改动了 Redis 数据集的事件(触发某些事件后能够向指定的频道发送通知),该功能须要 Redis 版本大于 2.8。html
事件经过 Redis 的订阅与发布功能(pub/sub)来进行分发,所以全部支持订阅与发布功能的客户端均可以在无须作任何修改的状况下,直接使用此功能。redis
由于 Redis 目前的订阅与发布功能采起的是发送即忘(fire and forget)策略,因此若是你的程序须要可靠事件通知(reliable notification of events),那么目前的键空间通知可能并不适合你:当订阅事件的客户端断线时,它会丢失全部在断线期间分发给它的事件。数据库
对于每一个修改数据库的操做,键空间通知都会发送两种不一样类型的事件:键空间通知(key-space)和键事件通知(key-event)。服务器
当 del mykey 命令执行时:测试
由于开启键空间通知功能须要消耗一些 CPU,因此在默认配置下,该功能处于关闭状态。spa
修改 redis.conf 中的 notify-keyspace-events 参数,参数能够是如下字符的任意组合, 它指定了服务器该发送哪些类型的通知:htm
输入的参数中至少要有一个 K 或者 E,不然的话,无论其他的参数是什么,都不会有任何通知被分发。blog
如: notify-keyspace-events "Ex" 表示对过时事件进行通知发送; notify-keyspace-events "kx" 表示想监控某个 key 的失效事件。将参数设为字符串 AKE 表示发送全部类型的通知。事件
客户端订阅 subscribe __keyevent@0__:expired 字符串
在另外一个客户端执行 setex name 10 txl ,10 秒事后,订阅端就会接收到消息: