列表型別可以儲存乙個有序的字串列表,常用的操作是向列表兩端新增元素,或者獲得列表的某乙個片段。
列表型別內部是使用雙向鍊錶實現的,所以列表兩端新增元素是非常快的,獲取越接近兩端的元素速度就越快。
通過列表特點可以模擬棧、佇列
社交**的新鮮事,我們關心的只是最新的內容,使用列表型別儲存,即使新鮮事的總數達到幾千萬個,獲取其中位於list兩端最新的100條資料也是很快的。
列表型別適合用來記錄日誌,可以保證加入新日誌的速度不會受到已有日誌數量的影響
列表型別還可以作為佇列
向列表兩端增加元素
//lpush命令用來向列表左邊增加元素,返回列表長度
lpush key value [value ...]
//rpush命令用來向列表右邊增加元素
rpush key value [value ...]
例子:127.0.0.1:6379> lpush key 1 2 3 4
(integer) 4
從列表兩端彈出元素
//lpop命令從列表左邊取出乙個元素
lpop key
//rpop命令從列表右邊取出乙個元素
rpop key
可以使用上面4個命令模擬棧和佇列的操作。
如果列表模擬棧:
lpush 和 lpop
rpush 和 rpop
如果想列表模擬佇列:
lpush 和 rpop
rpush 和 lpop
總結:只要從不同方向讀,取就是佇列,從相同方向讀與取就是棧。
3. 獲取列表中元素的個數
llen key
當key不存在就會返回0
4. 獲得列表片段
lrange key start stop
例子://獲取列表中所有的值
lrange key 0 -1
Redis資料型別 List
lpush 在對應的list頭部新增元素 127.0.0.1 6379 lpush mylist value1 integer 1 127.0.0.1 6379 lpush mylist value2 integer 2 列印出來看一下 127.0.0.1 6379 lrange mylist 0 ...
redis資料型別 List
list 列表 是鍊錶結構,新增或刪除元素是常量時間。list常用命令 lpush key value 從列表左邊新增元素 lpushx key value 從列表左邊新增元素,只有當key存在的時候才會新增,否則不執行。rpush key value 從列表右邊新增元素 rpushx key va...
Redis資料型別 List
list資料型別 lpush key value 新增list資料,value可以為多個值,假如我們使用方法新增 a b c 這個三個value的時候,實際上就執行了三次這個命令,等我們獲取資料的時候就是c b a lpushx key value 新增資料資訊,和lpush命令相反,從尾部開始新增...