Redis 中的高級數據類型


5個基礎數據類型

 

高級功能

① HyperLogLog (參考

供不精確的去重計數功能,比較適合用來做大規模數據的去重統計,例如統計 UV

> PFADD visitors alice bob carol
(integer) 1
> PFCOUNT visitors
(integer) 3

解釋:

如果 HyperLogLog 估計的近似基數在 PFADD 命令執行之后出現了變化, 那么命令返回 1 , 否則返回 0 。如果命令執行時給定的鍵不存在, 那么程序將先創建一個空的 HyperLogLog 結構, 然后再執行命令。

PFCOUNT 命令會給出 HyperLogLog 包含的近似基數。在計算出基數后,PFCOUNT 會將值存儲在 HyperLogLog 中進行緩存,直到下次 PFADD 執行成功前,就都不需要再次進行基數的計算。

PFMERGE 將多個 HyperLogLog 合並為一個 HyperLogLog , 合並后的 HyperLogLog 的基數接近於所有輸入 HyperLogLog 的並集基數。

 

② pub/sub

使用主題訂閱者模式,可以實現 1:N 的消息隊列(即生產一次消費多次)。但是,在消費者下線的情況下,生產的消息會丟失,得使用專業的消息隊列如RocketMQ等

# 訂閱頻道
> SUBSCRIBE redisChat
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1

# 發布消息到頻道
> PUBLISH redisChat "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"

# 查看頻道列表
> PUBSUB CHANNELS
1) "redisChat"

# 取消訂閱
> UNSUBSCRIBE redisChat

# 訂閱多個頻道,格式為 PSUBSCRIBE pattern [pattern ...]
> PSUBSCRIBE redis*
1) "psubscribe"
2) "redisChat"
3) (integer) 1

  

233


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM