11 Redis 集合物件

2021-10-06 16:11:28 字數 573 閱讀 1265

本文內容均來自《redis設計與實現》一書 

集合物件的編碼可以是intset或者hashtable。

intset編碼的集合物件使用整數集合作為底層實現,集合物件包含的所有元素都被儲存在整數集合裡面。

hashtable編碼的集合物件使用字典作為底層實現,字典的每個鍵都是乙個字串物件,每個字串物件包含了乙個集合元素,而字典的值全部被設定為null

當集合物件可以同時滿足以下兩個條件時,物件使用intset編碼:

不能同時滿足以上兩個條件的集合物件需要使用hashtable編碼。

注意:以上第二個條件的上限值是可以修改的,對應的配置選項為set-max-intset-entries。

11 Redis發布訂閱

redis 客戶端可以訂閱任意數量的頻道。第乙個 訊息傳送者,第二個 頻道 第三個 訊息訂閱者!下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關係 當有新訊息通過 publish 命令傳送給頻道 channel1 時,這個訊...

11 Redis穿透擊穿和雪崩

redis快取穿透和雪崩 指的是乙個非常熱的key 一直有非常大流量的併發訪問,當快取中key失效過期的瞬間,所有的訪問量瞬間擊破快取,所有請求瞬間全部訪問到資料庫,例 微博某個熱搜,劉畊巨集直播,大量的訪問量直接訪問到後端資料庫 同時資料庫還要會寫到快取,導致資料庫壓力很大甚至崩潰。決方案 1.熱...

《Redis 集合物件》

一 概述 redis 原始碼版本為3.0.0.redis 集合命令請戳。object encoding key 檢視資料底層型別實現。二 集合物件的底層實現 編碼方式 字串物件共有兩種編碼方式intset 整數集合 hashtable 字典 編碼方式的選擇 當列表物件 元素都是整數 元素數量小於51...