Redis 數據類型

Redis支持五種數據類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。redis

 

 

一、string 字符串

示例: set name "zhangsan" 數據庫

key、value都是string類型,key、value引不引都行,習慣上key不加引號,value隨意。spa

string是Redis的基礎數據類型。code

 

 

 

二、hash 哈希

Redis hash 是一個string類型的field和value的映射表,一個hash可儲存多個鍵值對。對象

一個對象每每有多個屬性(鍵值對形式),hash特別適合存儲對象。blog

Redis 中一個 hash 能夠存儲 232 - 1個 鍵值對(40多億)。排序

示例:ip

 hmset zhangsan name "zhangsan" age 12 gender male score 90

hmset,hm即hash multiple set,set這裏表示設置,不是集合。字符串

zhangsan,即這張hash表的名稱。Redis是key-value數據庫,zhangsan就是key,後面的一堆屬性看作一個總體(value)。string

 

 

 

三、list 列表

Redis列表是簡單的字符串列表,按照插入順序排序。能夠添加一個元素(字符串)到列表的頭部(左邊)或者尾部(右邊)

一個列表最多能夠包含 232 - 1 個元素 (40多億)。

示例:

lpush students "zhangsan" "lisi" "wangwu"

lpush,即list push,往list中添加元素。

students,即這個列表的名稱(key)。列表中的元素看作一個總體(value)。

 

 

 

 

四、set 集合

Redis set 是 string 類型的無序集合。集合成員是惟一的(不容許重複)。

Redis 中集合是經過哈希表實現的,因此添加,刪除,查找的複雜度都是 O(1)。

集合的最大成員數爲 232 - 1 (40多億)。

示例:

sadd mySet "zhangsan" "lisi" "wangwu"

sadd,即set add,往集合中添加元素。

mySet,即集合名稱(key)。把集合中的全部元素做爲一個總體(value)。

 

 

 

 

五、sorted set 有序集合

Redis 有序集合和集合同樣也是string類型元素的集合,且不容許出現重複的成員。

但sorted set的每一個元素都會關聯一個int型或double型的數。redis正是經過這個數來爲集合中的成員進行從小到大的排序。

有序集合的成員不容許重複,但分數(score)能夠重複。

有序集合是經過哈希表實現的,添加,刪除,查找的複雜度都是O(1)。

集合的最大成員數爲 232 - 1 (40多億)。

示例:

 zadd sortedSet 2 "zhangsan" 2.9 "lisi" 1.3 "wangwu"

zadd,z表明有序集合。

sortedSet,即有序集合的名稱(key)。把有序集合中的全部元素(包括分數)看作一個總體(value)。

2 "zhangsan" ,2就是"zhangsan"的score,順序就是根據score進行升序排列的。score能夠是int、double型。

相關文章
相關標籤/搜索