標籤:
Redis共有strings、hashs、lists、sets、sorted sets五種資料類型,可以說已經比較豐富了。下面只對這幾種資料類型的資料結構與用途做簡要介紹。至於每種資料類型的操作API,這裡只簡單一提,不再一一詳細介紹,有需要的使用者可以Google即可。
一、 strings
string是最簡單的類型,一個Key對應一個Value。string類型是型別安全的,Redis的string可以包含任何資料,比如jpg圖片或者序列化的對象。儲存結構如下:
常用的API函數有:
二、 lists(棧/隊列)
List是一個鏈表結構,主要功能是push/pop,擷取一個範圍的所有值等等。操作中key就理解為鏈表的名稱。Redis的list類型其實就是每一個子項目都是string類型的雙向鏈表。我們可以通過push、pop操作從鏈表的頭部或者尾部添加、刪除元素,這樣list既可以做棧又可以做隊列。儲存結構如下:
常用的API函數有:
三、 hashs
Redis的hash是一個string類型的field和value的映射表。五種資料類型中,只有hash是二維的,它特別適合儲存物件。相較於將對象的每個欄位屬性存為單個string類型。將一個Object Storage Service在hash類型中會佔用更少的記憶體,並且可以更方便的存取整個對象。儲存結構如下:
常用的API函數有:
四、 sets
sets是集合,它是string類型的無序集合。set是通過hash table實現的。它非常類似數學中的集合,所以我們可以取並集、差集、交集。通過這些操作我們可以實現sns中的好友推薦和blog中的tag功能。儲存結構如下:
常用的API函數有:
五、 sorted sets
sortedsets是sets的一個升級版本,它在sets的基礎上增加了一個順序屬性score。這一屬性在添加、修改元素的時候可以指定,每次指定後,zset會自動重新按新的值調整順序。可以理解為有兩列的mysql表,一列存value,一列存順序。操作中key理解為zset的名字。儲存結構如下:
常用的API函數有:
五種資料類型已介紹完畢,下面給出常用的鍵值命令與伺服器命令:
六、 鍵值相關命令
七、 伺服器相關命令
八、 五種資料類型儲存結構全貌
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Redis——五種資料類型