Redis緩存數據類型有5種,分別是String(字符串)、List(列表)、Hash(哈希)、Set(無序,不重複集合)、ZSet(sorted set:有序,不重複集合)。
String(字符串)
string類型是redis最近的類型,一個key對應一個value。
Redis中的String類型是二進制安全的,可以包含任何數據。例如序列化的對象或者圖片。
String類型一個鍵最大能存儲 512M。
Redis中對String類型的賦值命令是SET,取值命令是GET。
實例:
通過set命令,加入key爲myKey,對應的值爲testString的緩存數據
List(列表)
Redis列表類型是簡單的字符串列表,按照插入的順序排序。
每個List最多可存儲
232 - 1 個元素(40多億)。
Redis中List類型通過lpush命令賦值,通過lrange命令取值。
實例:
key值爲test-list,存入的value值分別爲Java、PHP、C++。
Hash(哈希)
Redis的hash是一個鍵值對集合,特別適合用於存儲對象。
每個hash最多可存儲 232
- 1 個元素(40多億)。
Redis中的hash類型通過HMSET命令賦值,HEGTALL命令取值。
實例:
key值時user,對應的value值是裏面的鍵值對集合。
Set(無序,不重複集合)
Redis的set是沒有順序和不重複的集合類型,String類型的無序集合。
通過sadd命令添加元素到集合,smembers命令獲取集合。
集合中最大的成員數爲 232 - 1 個(40多億)。
實例:
用sadd命令添加緩存數據,若添加成功,則放回1。若返回0,則代表添加失敗,例如value值重複。
上面的實例中C++被添加了兩次,set是不重複集合,元素的唯一性,第二次添加會被忽略。
ZSet(有序,不重複集合)
Redis中的zset集合有順序但裏面元素不會重複,String類型的有序集合。
zset每個元素都會綁定一個double類型的數值,集合按照該數值升序排序,數值可以重複,但value值不可以重複。
通過zadd命令添加元素到集合,如果元素在集合中已經存在,則更新對應的double類型數值。通過ZRANGEBYSCORE命令獲取zset集合元素。
實例:
keys * 命令
通過keys * 命令查找緩存中所有的key值。
實例: