Redis支持五種數據類型:string(字符串),hash(哈希)嗽冒,list(列表)孔庭,set(集合)以及zset(sorted set:有序集合)。
string(字符串)是redis最基本的類型金顿,一個key對應一個value。string類型是二進制安全的鲤桥,意思是redis的string可以包含任何數據揍拆。比如JPG圖片或者任何序列化的對象。string類型是redis最基本的數據類型茶凳,一個鍵最大能存儲512MB嫂拴。
list(列表)是簡單的字符串列表,按照插入順序排序贮喧。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)筒狠。列表最多存儲?232?- 1 元素 (4294967295, 每個列表可存儲40多億)。
set(集合)是string類型的無序集合箱沦。集合是通過哈希表實現的辩恼,所以添加,刪除谓形,查找的復雜度都是O(1)灶伊。
hash(哈希)是一個鍵值(key=>value)對集合,是一個string類型的field和value的映射表寒跳,hash特別適合用于存儲對象聘萨。
zset(sorted set:有序集合)和set一樣也是string類型元素的集合,切不允許重復的成員童太。不同的是每個元素都會關聯一個double類型的分數匈挖,redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的康愤,但是分數(score)卻可以重復。sorted set中的元素按照如下規(guī)則排序:
????·如果A元素與B元素對應的score值不一樣舶吗,那么對應score大的那個元素大征冷。
????·如果A元素與B元素對應的score值相同,那么按字典順序比較A與B字符串(A字符串與B字符串是不可能相等的誓琼,因為sorted set中元素惟一)检激。