[!TOC]
Redis數據結構簡介
Redis提供的5種結構
結構類型 |
結構存儲的值 |
結構的讀寫能力 |
STRING |
可以是字符串,整數或者浮點數 |
對整個字符串或者字符串的其中一部分執行操作;對整數和浮點數執行自增或者自減操作 |
LIST |
一個鏈表,鏈表上的每個節點都包含了一個字符串 |
從鏈表的兩端推入或者彈出元素;根據偏移量對鏈表進行修剪;讀取單個或者多個元素;根據值查找或者移除元素 |
SET |
包含字符串的無序收集器,並且被包含的每個字符串都是獨一無二,各不相同的 |
添加,獲取,移除單個元素;檢查一個元素是否存在於集合中;計算交集,並集,差集;從集合裏面隨機獲取元素 |
HASH |
包含鍵值對的無序散列表 |
添加,獲取,移除單個鍵值對;獲取所有鍵值對 |
ZSET |
字符串成員與浮點數分值之間的有序映射,元素的排列順序由分值大小決定 |
添加,獲取,刪除單個元素;根據分值範圍或者成員來獲取元素 |
Redis中的字符串
命令 |
行爲 |
GET |
獲取存儲在給定鍵中的值 |
SET |
設置存儲在給定鍵中的值 |
DEL |
刪除存儲在給定鍵中的值 |
Redis中的列表
命令 |
行爲 |
RPUSH |
將給定值推入列表的右端 |
LRANGE |
獲取列表在給定範圍上的所有值 |
LINDEX |
獲取列表在給定位置上的單個元素 |
LPOP |
從列表的左端彈出一個值,並返回被彈出的值 |
Redis中的集合
命令 |
行爲 |
SADD |
將給定元素添加到集合 |
SMEMBERS |
返回集合包含的所有元素 |
SISMEMBER |
檢查給定元素是否存在於集合中 |
SREM |
如果給定的元素存在於集合中,那麼移除這個元素 |
Redis中的散列
Redis的散列可以儲存多個鍵值對之間的映射。和字符串一樣,散列存儲的值既可以是字符串又可以是數字值,並且用戶同樣可以對散列存儲的數字值執行自增操作或者自減操作
命令 |
行爲 |
HSET |
在散列裏面關聯起給定的鍵值對 |
HGET |
獲取指定散列鍵的值 |
HGETALL |
獲取散列包含的所有鍵值對 |
HDEL |
如果給定鍵存在於散列裏面,那麼移除這個鍵 |
熟悉關係數據庫的可以將Redis的散列看作是關係數據庫裏的行,因爲散列,文檔和行這三者都允許用戶同時訪問或者修改一個或多個域
Redis的有序集合
有序集合和散列一樣,都用於存儲鍵值對:有序集合的鍵被稱爲成員,每個成員都是獨一無二的;而有序集合的值則被稱爲分值(score),分值必須爲浮點數。有序集合是Redis裏面唯一一個既可以根據成員訪問元素(這一點和散列一樣),又可以根據分值以及分值的排列順序來訪問元素的結構
命令 |
行爲 |
ZADD |
將一個帶有給定分值的成員添加到有序集合裏面 |
ZRANGE |
根據元素在有序排列中所處的位置,從有序集合裏面獲取多個元素 |
ZRANGEBYSCORE |
獲取有序集合在給定分值範圍的所有元素 |
ZREM |
如果給定成員存在於有序集合,那麼移除這個成員 |