1. 程式人生 > >Redis快取資料型別

Redis快取資料型別

Redis快取資料型別有5種,分別是String(字串)、List(列表)、Hash(雜湊)、Set(無序,不重複集合)、ZSet(sorted set:有序,不重複集合)

String(字串)

string型別是redis最近的型別,一個key對應一個value。

Redis中的String型別是二進位制安全的,可以包含任何資料。例如序列化的物件或者圖片。

String型別一個鍵最大能儲存 512M。

Redis中對String型別的賦值命令是SET,取值命令是GET。

egg:

通過set命令,加入key為myKey,對應的值為testString的快取資料

List(列表)

Redis列表型別是簡單的字串列表,按照插入的順序排序。

每個List最多可儲存 232 - 1 個元素(40多億)。

Redis中List型別通過lpush命令賦值,通過lrange命令取值。

egg:

key值為test-list,存入的value值分別為Java、PHP、C++。

Hash(雜湊)

Redis的hash是一個鍵值對集合,特別適合用於儲存物件。

每個hash最多可儲存 232 - 1 個元素(40多億)。

Redis中的hash型別通過HMSET命令賦值,HEGTALL命令取值。

egg:

key值時user,對應的value值是裡面的鍵值對集合。

Set(無序,不重複集合)

Redis的set是沒有順序和不重複的集合型別,String型別的無序集合。

通過sadd命令新增元素到集合,smembers命令獲取集合。

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

egg:

用sadd命令新增快取資料,若新增成功,則放回1。若返回0,則代表新增失敗,例如value值重複。

上面的例項中C++被添加了兩次,set是不重複集合,元素的唯一性,第二次新增會被忽略。

Sorted set(有序,不重複集合)

Redis中的有序集合有順序但裡面元素不會重複,String型別的有序集合。

zset每個元素都會繫結一個double型別的數值,集合按照該數值升序排序,數值可以重複,但value值不可以重複。

通過zadd命令新增元素到集合,如果元素在集合中已經存在,則更新對應的double型別數值。通過ZRANGEBYSCORE命令獲取Sorted set集合元素。

egg:

keys * 命令

通過keys * 命令查詢快取中所有的key值。

egg: