Redis 鍵空間通知

2021-10-07 03:12:10 字數 1068 閱讀 3630

對於每個修改資料庫的操作,鍵空間通知都會傳送兩種不同型別的事件:鍵空間通知(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過期時間都會被推送過來,所以最好單獨使用乙個資料庫來進行...