對於每個修改資料庫的操作,鍵空間通知都會傳送兩種不同型別的事件:鍵空間通知(key-space)和鍵事件通知(key-event)。
當執行del key1
命令時:
redis配置
只需修改配置檔案redis.conf中的notify-keyspace-events
引數,引數可以是以下字元的任意組合, 它指定了伺服器該傳送哪些型別的通知:
# k 鍵空間通知,以__keyspace@__為字首
# e 鍵事件通知,以__keysevent@__為字首
# g del , expipre , rename 等型別無關的通用命令的通知, ...
# $ string命令
# l list命令
# s set命令
# h hash命令
# z 有序集合命令
# x 過期事件(每次key過期時生成)
# e 驅逐事件(當key在記憶體滿了被清除時生成)
# a g$lshzxe的別名,因此」ake」意味著所有的事件
輸入的引數中至少要有乙個 k 或者 e,否則的話,不管其餘的引數是什麼,都不會有任何通知被分發。
測試客戶端a訂閱psubscribe __keyevent@0__:*
客戶端b發起操作
[root@chokingwin etc]# redis-cli
127.0.0.1:6379> set name aaa
ok
客戶端a能接收到通知
1) "pmessage"
2) "__key*@0__:*"
3) "__keyspace@0__:name"
4) "set"
1) "pmessage"
2) "__key*@0__:*"
3) "__keyevent@0__:set"
4) "name"
redis鍵空間通知訊息詳解和例子
接收鍵空間通知有2種情況 1 一種是接收指定鍵值所執行的命令,在配置檔案中體現是 notify keyspace events k 命令集 k代表是監聽鍵值,監聽其中命令集包括了 g 常規命令 del expire rename等等 字串命令 l 列表命令 s 集合命令 h hash命令 z 有序集...
Redis 資料庫鍵空間
redis 是乙個鍵值對 key value pair 資料庫伺服器,伺服器中的每個資料庫都由乙個redis.h redisdb結構表示,其中,redisdb結構的dict字典儲存了資料庫中的所有鍵值對,我們將這個字典稱為鍵空間 key space typedef struct redisdb re...
redis過期通知
首先啟用 登陸redis cli,輸入命令 config set notify keyspace events ex 訂閱的key keyevent expired 這個格式是固定的,db代表的是資料庫的編號,由於訂閱開啟之後這個庫的所有key過期時間都會被推送過來,所以最好單獨使用乙個資料庫來進行...