1. 什么是發(fā)布訂閱
Redis 發(fā)布訂閱(pub/sub)是一種消息通信模式:發(fā)送者(pub)發(fā)送消息,訂閱者(sub)接收消息。
Redis 客戶端可以訂閱任意數(shù)量的頻道是嗜。
下圖展示了頻道 channel1 , 以及訂閱這個(gè)頻道的三個(gè)客戶端 —— client2 芥颈、 client5 和 client1 之間的關(guān)系:當(dāng)有新消息通過 PUBLISH 命令發(fā)送給頻道 channel1 時(shí)赎败, 這個(gè)消息就會被發(fā)送給訂閱它的三個(gè)客戶端:
2. 實(shí)例
以下實(shí)例演示了發(fā)布訂閱是如何工作的。在我們實(shí)例中我們創(chuàng)建了訂閱頻道名為 redisChat:
redis 127.0.0.1:6379> SUBSCRIBE redisChat
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1
現(xiàn)在迁央,我們先重新開啟個(gè) redis 客戶端掷匠,然后在同一個(gè)頻道 redisChat 發(fā)布兩次消息,訂閱者就能接收到消息漱贱。
redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"
(integer) 1
redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by runoob.com"
(integer) 1
# 訂閱者的客戶端會顯示如下消息
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by runoob.com"
Redis 發(fā)布訂閱常用命令
下表列出了 redis 發(fā)布訂閱常用命令:
序號 | 命令及描述 |
---|---|
1 | PSUBSCRIBE pattern訂閱一個(gè)或多個(gè)符合給定模式的頻道槐雾。 |
2 | PUBSUB subcommand 查看訂閱與發(fā)布系統(tǒng)狀態(tài)。 |
3 | PUBLISH channel message]將信息發(fā)送到指定的頻道幅狮。 |
4 | PUNSUBSCRIBE 退訂所有給定模式的頻道募强。 |
5 | SUBSCRIBE channel [channel ...]訂閱給定的一個(gè)或多個(gè)頻道的信息。 |
6 | UNSUBSCRIBE [channel [channel ...]]指退訂給定的頻道崇摄。 |
本文借鑒 runoob.com擎值,覺得本網(wǎng)站給的思路比較清晰。
1. 什么是GEO
geo就是地理信息定位逐抑,存儲經(jīng)緯度鸠儿,計(jì)算兩地距離、范圍等
2. api介紹
- geo key longitude latitude member [longitude latitude member ...] #增加地里位置信息
geoadd cities:locations 111.111.111.11 beijing
- geopos key member [member ...] #獲取地理位置信息
geopos cities:location beijing
- geodist key member1 member2 [unit] #獲取兩個(gè)地里位置的距離 unit:m. km. mi(英里) .ft(尺)
- georadius 命令百度查看詳情厕氨,這里不做介紹进每,用到的也很少
georadiusbymember cities:locations beijing 150 km
查找距離北京150km以內(nèi)的城市