1. Redis 的五種數(shù)據(jù)結(jié)構(gòu)
| 結(jié)構(gòu)類型 | 結(jié)構(gòu)存儲的值 | 讀寫能力 |
|---|---|---|
| STRING | 字符串、整數(shù)、浮點(diǎn)數(shù) | 對整個字符串或字符串的一部分進(jìn)行操作;對整數(shù)和浮點(diǎn)數(shù)進(jìn)行自增或者自減 |
| LIST | 一個鏈表,鏈表上的每個節(jié)點(diǎn)包含了一個字符串 | 從鏈表的兩端 push 或 pop 元素;根據(jù)偏移量對鏈表進(jìn)行 trim;讀取單個或多個元素;根據(jù)值查找或移除元素 |
| SET | 無序,并且被包含的每個字符串都是獨(dú)一無二的 | 添加、獲取、移除單個元素;檢查一個元素是否存在于集合中;計(jì)算交集、并集、差集;從集合里面隨機(jī)獲取元素 |
| HASH | 包含鍵值對的無序散列表 | 添加、獲取、移除單個鍵值對;獲取所有鍵值對 |
| ZSET(有序集合) | 字符串成員(member)與浮點(diǎn)數(shù)分值(score)之間的有序映射,元素的排列順序由分值的大小決定 | 添加、獲取、刪除單個元素;根據(jù)分值范圍或者成員獲取元素 |
2. 對五種數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的命令
-
STRING
GET : 獲取存儲在給定鍵中的值
SET : 設(shè)置存儲在給定鍵中的值
DEL : 刪除存儲在給定鍵中的值 ( 這個命令可以用于所有類型 )
-
LIST
RPUSH : 將給定值推入列表右端
LANGE : 獲取列表在給定范圍上的所有值
LINDEX : 獲取列表在給定位置上的單個元素
LPOP : 從列表的左端彈出一個值, 并返回被彈出的值
-
SET
SADD : 將給定元素添加到集合
SMEMBERS : 返回集合包含的所有元素
SISMEMBER : 檢查給定元素是否存在于集合之中
SREM : 如果給定元素存在于集合之中, 那么移除這個元素
-
HASH
HSET : 在散列里關(guān)聯(lián)起給定的鍵值對
HGET : 獲取指定散列的值
HGETALL : 獲取散列包含的所有鍵值對
HDEL : 如果給定鍵存在于散列中, 那么移除這個鍵
-
ZSET
ZADD : 將帶有給定分值的成員添加到有序集合里面
ZRANGE : 根據(jù)元素在有序排列中所處的位置, 從有序集合里面獲取多個元素
ZRANGEBYSCORE : 獲取有序集合在給定分值范圍內(nèi)的所有元素
ZREM : 如果給定成員存在于有序集合, 那么移除這個成員