redis鍵空間通知訊息詳解和例子

2021-07-09 13:20:38 字數 1512 閱讀 1969

接收鍵空間通知有2種情況:

1、一種是接收指定鍵值所執行的命令,在配置檔案中體現是:   notify-keyspace-events k[命令集]               ;k代表是監聽鍵值,監聽其中命令集包括了:

g : 常規命令 del expire rename等等

$:  字串命令

l : 列表命令

s:集合命令

h:hash命令

z:有序集合命令

x :超時命令

例子1):

在配置檔案(redis.conf)中設定:

#notify-keyspace-events ""

notify-keyspace-events k$

表明我們需要監聽字串所執行的命令;

客戶端1監聽:       

客戶端2執行:

2、監控指定的命令,配置檔案中體現:notify-keyspace-events e[命令集]      ;e代表監聽命令,後面的命令集合上面的一樣

例子1)、

配置檔案:

#notify-keyspace-events ""

notify-keyspace-events elg

表明我們監控list列表基礎命令

客戶端1監聽:

127.0.0.1:6379> subscribe __keyevent@0__:del

reading messages... (press ctrl-c to quit)

1) "subscribe"

2) "__keyevent@0__:del"

3) (integer) 1

1) "message"

2) "__keyevent@0__:del"

3) "list2"

1) "message"

2) "__keyevent@0__:del"

3) "mylist1"

1) "message"

2) "__keyevent@0__:del"

3) "list1"

客戶端2執行:

127.0.0.1:6379> keys *

1) "list2"

2) "mylist1"

127.0.0.1:6379> del list2 mylist1

(integer) 2

127.0.0.1:6379> keys *

(empty list or set)

127.0.0.1:6379> lpush list1 abc

(integer) 1

127.0.0.1:6379> lpush list1 abc def

(integer) 3

127.0.0.1:6379> lrange list1 0 -1

1) "def"

2) "abc"

3) "abc"

127.0.0.1:6379> del list1

(integer) 1

127.0.0.1:6379> 

Redis 鍵空間通知

對於每個修改資料庫的操作,鍵空間通知都會傳送兩種不同型別的事件 鍵空間通知 key space 和鍵事件通知 key event 當執行del key1命令時 redis配置 只需修改配置檔案redis.conf中的notify keyspace events引數,引數可以是以下字元的任意組合,它指...

Redis訊息通知

redis的訊息通知通過列表型別實現,分為兩種模式 阻塞式 發布 訂閱式 阻塞式 顧名思義,訊息生產者負責生產訊息,並將訊息放到佇列的一端,訊息的消費者負責消費訊息,從佇列的另一端取出訊息,然後對其進行消費,假如訊息的生產者突然罷工了,或者訊息的生產速度趕不上消費者的消費速度,那麼訊息的消費者會一直...

Redis訊息通知系統的實現

posted on 2012 02 29 by 老王 最近忙著用redis實現乙個訊息通知系統,今天大概總結了一下技術細節,其中演示 如果沒有特殊說明,使用的都是phpredis擴充套件來實現的。比如要推送一條全域性訊息,如果真的給所有使用者都推送一遍的話,那麼會占用很大的記憶體,實際上不管粘性有多...