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 秒事後,訂閱端就會接收到消息: