Redis支持五種數據類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。redis
示例: set name "zhangsan" 數據庫
key、value都是string類型,key、value引不引都行,習慣上key不加引號,value隨意。spa
string是Redis的基礎數據類型。code
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
Redis列表是簡單的字符串列表,按照插入順序排序。能夠添加一個元素(字符串)到列表的頭部(左邊)或者尾部(右邊)
一個列表最多能夠包含 232 - 1 個元素 (40多億)。
示例:
lpush students "zhangsan" "lisi" "wangwu"
lpush,即list push,往list中添加元素。
students,即這個列表的名稱(key)。列表中的元素看作一個總體(value)。
Redis set 是 string 類型的無序集合。集合成員是惟一的(不容許重複)。
Redis 中集合是經過哈希表實現的,因此添加,刪除,查找的複雜度都是 O(1)。
集合的最大成員數爲 232 - 1 (40多億)。
示例:
sadd mySet "zhangsan" "lisi" "wangwu"
sadd,即set add,往集合中添加元素。
mySet,即集合名稱(key)。把集合中的全部元素做爲一個總體(value)。
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型。