Redis資料型別及應用場景

2021-10-02 21:55:10 字數 784 閱讀 2932

1、redis 是一種鍵值(key-value)資料庫。相對於關係型資料庫(比如 mysql),redis 也被叫作非關係型資料庫。除此之外,redis 主要是作為記憶體資料庫來使用,也就是說,資料是儲存在記憶體中的。儘管它經常被用作記憶體資料庫,但是,它也支援將資料持久化到硬碟中。

2、redis的每個資料型別是處理不同業務場景而誕生,基本資料型別為5種,從redis5.0版發布後新增了stream資料型別,如下思路圖:

3、其中跳表為插入,刪除,查詢比較快的動態資料結構,跳表是乙個值有序的鍊錶建立多級索引,比如每2個節點提取乙個節點到上一級,我們把抽出來的那一級叫做索引或索引層;

4、為什麼 redis 要用跳表來實現有序集合,而不是紅黑樹?

redis 中的有序集合支援的核心操作主要有下面這幾個:插入乙個資料;刪除乙個資料;查詢乙個資料;按照區間查詢資料(比如查詢值在[100, 356]之間的資料);迭代輸出有序序列。其中,插入、刪除、查詢以及迭代輸出有序序列這幾個操作,紅黑樹也可以完成,時間複雜度跟跳表是一樣的。但是,按照區間來查詢資料這個操作,紅黑樹的效率沒有跳表高。

5、因redis的資料結構由多種資料結構來實現,主要是出於時間和空間複雜度的考慮,當資料量小的時候通過陣列下標訪問最快、占用記憶體最小,而壓縮列表只是陣列的公升級版;因為陣列需要占用連續的記憶體空間,所以當資料量大的時候,就需要使用鍊錶了,同時為了保證速度又需要和陣列結合,也就有了雜湊表。

Redis 資料型別及應用場景

通常我們都把資料存到關係型資料庫中,但為了提公升應用的效能,我們應該把訪頻率高且不會經常變動的資料快取到記憶體中。redis 沒有像 mysql 這類關係型資料庫那樣強大的查詢功能,需要考慮如何把關係型資料庫中的資料,合理的對應到快取的 key value 資料結構中。分段設計法 使用冒號把 key...

redis的資料型別及應用場景

redis主要有以下資料型別 string hash list set sorted set。string 這是最基本的型別,就是最普通的set及get,做簡單的key value快取。hash 這個是類似於map的一種結構,一般就是可以將結構化的資料,比如乙個物件 前提是這個物件沒有巢狀其他物件 ...

Redis的資料型別及應用場景

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 1.string 這個型別,乙個 key 對應乙個 value string 型別是二進位制安全的。意思是 redis 的 string 可以包含任何資料。比如j...