目錄
一、重要特點
二、常用命令
三、Redis中List類型應用場景
一、重要特點
①Redis中的List,視為雙向鏈表
②Redis中的List,數據可以重復
二、常用命令
格式 | 含義 | 例子 |
rpush key value | 從右邊往key中添加value值 | rpush hobby java python |
lpush key value | 從左邊往key中添加value值 | lpush hobby c++ c |
lrange key start stop | 從左邊開始遍歷,從start開始,到stop結束。start和stop是下標,從0開始。 | lrange hobby 1 3 |
lpop key | 刪除key的最左邊元素 | lpop hobby |
rpop key | 刪除key的最右邊元素 | rpop hobby |
llen key | 獲取key的元素個數 | llen hobby |
127.0.0.1:6379> rpush hobby java python
(integer) 2
127.0.0.1:6379> lpush hobby c++ c // 注意從左邊添加時,c++先進,c后進,最后c在c++左邊
(integer) 4 // 這里的返回值是當前List中的元素個數
// 此時列表中元素從左到右依次是c、c++、java、python,下標從0到3
127.0.0.1:6379> lrange hobby 1 3
1) "c++"
2) "java"
3) "python"
127.0.0.1:6379> lrange hobby 0 2
1) "c"
2) "c++"
3) "java"
127.0.0.1:6379> rrange hobby 0 2 // 不能從右開始遍歷
(error) ERR unknown command 'rrange'
127.0.0.1:6379> lpop hobby
"c"
127.0.0.1:6379> rpop hobby
"python"
127.0.0.1:6379> llen hobby // 刪除兩個元素后還剩下兩個元素
(integer) 2
127.0.0.1:6379> lrange hobby 0 1
1) "c++"
2) "java"
127.0.0.1:6379> lrange hobby 0 -1
// 支持負向索引(-1表示最右邊的元素),lrange key 0 -1即可遍歷全部元素
1) "c++"
2) "java"
127.0.0.1:6379> lpush hobby java // 允許重復元素
(integer) 3
127.0.0.1:6379> lrange hobby 0 -1
1) "java"
2) "c++"
3) "java"
三、Redis中List類型應用場景
用戶的收藏列表
和string的明顯區別,list的value對應多個元素