接收鍵空間通知有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擴充套件來實現的。比如要推送一條全域性訊息,如果真的給所有使用者都推送一遍的話,那麼會占用很大的記憶體,實際上不管粘性有多...