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: