上節我們介紹Redis的安裝和部署,這節我們就來正式步入學習Redis的過程,今天我們主要講講Redis中支持的數據類型。Redis支持數據類型有以下5種:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合),下面我們將一一介紹。
string是redis最基本的類型:一個key對應一個value,一個key最大能存儲512MB;
string類型是二進位安全的:意思是redis的string可以包含任何數據。比如jpg圖片或者序列化的對象 ,為什麼說S聽類型是二進位安全的呢?這是由於Redis內部對String的定義是一個byte[],因此也是可以包含任何數據了;
Redis hash 是一個鍵值對集合;
Redis hash是一個string類型的field和value的映射表,hash特別適合用於存儲對象;
將一個對象類型存儲在Hash類型裡要比存儲在String類型裡佔用更少的內存空間,並方便存取整個對象;
list類型是一個鍊表結構的集合,其主要功能有push,pop、獲取元素等,更詳細的說,list類型是一個雙向鍊表的結構,我們可以通過相關操作進行集合的頭部或者尾部添加和刪除元素,list的設計非常簡單,既可以作為棧又可以作為隊列。滿足大多數需求;
set集合是string類型的無序集合;
set集合是通過hashtable(哈希表)實現的,所以添加,刪除,查找的複雜度都是O(1);
對集合我們可以取交集、併集、差集;
Redis zset 和 set 一樣也是string類型元素的集合,且不允許重複的成員;
不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序;
zset的成員是唯一的,但分數(score)卻可以重複;