Redis Hash和List常用命令

Redis Hash和List常用命令

Hash

1. HSET 命令
<code>127.0.0.1:6379> hset book history "story"
(integer) 1/<code>
2. HSETNX 命令:為哈希表不存在的域設值

使用 HSETNX 命令當且僅當域 field 不存在時,將哈希表 key 中的 field 的值設置為 value。如果 field 已經存在,那麼 HSETNX 命令將會執行無效。

3. HMSET 命令:設置多個域和值到哈希表中
4. HGET 命令:獲取哈希表中域的值
5. HGETALL 命令:獲取哈希表中所有的域和值
6. HMGET 命令:獲取多個域的值
<code>127.0.0.1:6379> hget book history
"story"
127.0.0.1:6379> hgetall book
1) "history"
2) "story"/<code>
7. HKEYS 命令:獲取哈希表中的所有域
8. HVALS 命令:獲取哈希表中所有域的值
9. HLEN 命令:統計哈希表中域的數量
<code>127.0.0.1:6379> hlen book
(integer) 1/<code>
10. HSTRLEN 命令:統計域的值的字符串長度
11. HINCRBY 命令:為哈希表中的域加上增量值
12. HINCRBYFLOAT 命令:為哈希表中的域加上浮點數增量值
13. HDEL 命令:刪除哈希表中的多個域
14. HEXISTS 命令:判斷哈希表中的域是否存在

List

1. LPUSH 命令:將多個值插入列表頭部
2.
RPUSH 命令:將多個值插入列表尾部
<code>127.0.0.1:6379> lpush bookorder 12 13 15
(integer) 3
127.0.0.1:6379> rpush bookorder 100
(integer) 4/<code>
3. LINSERT 命令:插入一個值到列表中
<code>127.0.0.1:6379> linsert bookorder before 3 200
(integer) -1
127.0.0.1:6379> linsert bookorder before 13 200
(integer) 5/<code>
4. LPUSHX 命令:將值插入列表頭部

LPUSHX 命令用於將 value 值插入列表 key 的頭部,此時 key 必須存在,並且是列表類型的。LPUSHX 命令與 LPUSH 命令相反,當 key 不存在時,LPUSHX 命令不會創建一個新的空列表,它什麼也不做。

5. RPUSHX 命令:將值插入列表尾部
6. LSET 命令:修改列表元素值
<code>127.0.0.1:6379> lset bookorder 2 0
OK/<code>
7. LLEN 命令:統計列表的長度
8. LINDEX 命令:獲取列表元素的值
9. LRANGE 命令:獲取列表指定區間內的元素
<code>127.0.0.1:6379> llen bookorder
(integer) 5
127.0.0.1:6379> lindex bookorder 2
"0"
127.0.0.1:6379> lrange bookorder 0 -1
1) "15"
2) "200"
3) "0"
4) "12"
5) "100"/<code>
10. LPOP 命令:返回並刪除列表的頭元素
11. RPOP 命令:返回並刪除列表的尾元素
12. BLPOP 命令:在指定時間內刪除列表的頭元素(阻塞timeout後刪除頭元素)
<code>blpop key timeout/<code>

返回值:如果在指定的 timeout 時間內沒有返回任何元素,則將會返回 nil 和等待時長。而如果在 timeout 時間內返回一個列表,那麼這個列表中的第一個元素表示被返回元素所屬的 key,第二個元素表示被返回元素的值。

13. BRPOP 命令:在指定時間內刪除列表的尾元素(阻塞,同上)
<code>127.0.0.1:6379> lpop bookorder
"15"
127.0.0.1:6379> rpop bookorder
"100"
127.0.0.1:6379> lrange bookorder 0 -1
1) "200"
2) "0"
3) "12"
127.0.0.1:6379> blpop bookorder 15
1) "bookorder"
2) "200"/<code>
14. LREM 命令:刪除指定個數的元素
<code>lrem key count value/<code>

LREM 命令用於根據參數 count 的值,刪除列表 key 中與指定參數 value 相等的元素。

● 當 count 等於 0 時,表示刪除列表 key 中所有與 value 相等的元素。

● 當 count 大於 0 時,表示從列表 key 的表頭開始向表尾搜索,刪除與 value 相等的元素,刪除的數量為 count 個。

● 當 count 小於 0 時,表示從列表 key 的表尾開始向表頭搜索,刪除與 value 相等的元素,刪除的數量為 count 的絕對值個。

返回值:當列表 key 存在時,執行該命令後,返回被刪除的元素數量。當列表 key 不存在時,就是一個空列表,該命令始終返回 0。

15. **LTRIM 命令:留下指定區間的元素
<code>127.0.0.1:6379> lrange bookorder 0 -1
1) "0"
2) "12"
127.0.0.1:6379> ltrim bookorder 0 0
OK
127.0.0.1:6379> lrange bookorder 0 -1
1) "0"/<code>
16. RPOPLPUSH 命令:將列表元素移動到另一列表中
17. BRPOPLPUSH 命令:在指定時間內移動列表元素到另一列表中


分享到:


相關文章: