Redis資料型別 List

2021-06-28 19:38:19 字數 3678 閱讀 4799

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 -1

1) "value2"

2) "value1"

rpush

在對應list尾部新增元素

在下面的基礎上做以下操作

127.0.0.1:6379> rpush mylist value3

(integer) 3

127.0.0.1:6379> lrange mylist 0 -1

1) "value2"

2) "value1"

3) "value3"

右以看到value3插入到了list的尾部

linsert

在key對應list的特定位置之前或之後新增字串元素

127.0.0.1:6379> lrange mylist 0 -1

1) "value2"

2) "value1"

3) "value3"

在value1之前新增value0

127.0.0.1:6379> linsert mylist before 'value1' 'value0'

(integer) 4

127.0.0.1:6379> lrange mylist 0 -1

1) "value2"

2) "value0"

3) "value1"

4) "value3"

在之後value3之後新增value4

127.0.0.1:6379> linsert mylist after 'value3' 'value4'

(integer) 5

127.0.0.1:6379> lrange mylist 0 -1

1) "value2"

2) "value0"

3) "value1"

4) "value3"

5) "value4"

lset

根據下標設定值

127.0.0.1:6379> lrange mylist 0 -1

1) "value2"

2) "value0"

3) "value1"

4) "value3"

5) "value4"

將下標為-2的值設定成value5。-2也就是倒數第二個位置。所以value3被value5替換了

127.0.0.1:6379> lset mylist -2 value5

ok127.0.0.1:6379> lrange mylist 0 -1

1) "value2"

2) "value0"

3) "value1"

4) "value5"

5) "value4"

lrem

從list中刪除count個與value值相同的元素,

count>0時,從頭到尾順序進行刪除

count<0時,從尾到頭刪除

count=0時,刪除全部

127.0.0.1:6379> lrange mylist 0 -1

1) "value0"

2) "value2"

3) "value0"

4) "value1"

5) "value5"

6) "value4"

127.0.0.1:6379> lrem mylist 2 value0

(integer) 2

127.0.0.1:6379> lrange mylist 0 -1

1) "value2"

2) "value1"

3) "value5"

4) "value4"

ltrim

保留指定範圍內的值

127.0.0.1:6379> lrange mylist 0 -1

1) "value0"

2) "value1"

3) "value2"

4) "value3"

127.0.0.1:6379> ltrim mylist 1 -2

ok127.0.0.1:6379> lrange mylist 0 -1

1) "value1"

2) "value2"

保留第二個到倒數第二個之間的值

lpop

從頭部刪除乙個元素,成功則返回刪除的值

127.0.0.1:6379> lrange mylist 0 -1

1) "value1"

2) "value2"

3) "value3"

127.0.0.1:6379> lpop mylist

"value1"

rpop

從尾部刪除乙個元素,成功則返回刪除的值

127.0.0.1:6379> lrange mylist 0 -1

1) "value1"

2) "value2"

3) "value3"

127.0.0.1:6379> rpop mylist

"value3"

rpoplpush

從第乙個list中拿出最後乙個元素,並新增到第二個list的頭部

127.0.0.1:6379> lrange list1 0 -1

1) "list1_v1"

2) "list1_v2"

127.0.0.1:6379> lrange list2 0 -1

1) "list2_v1"

2) "list2_v2"

127.0.0.1:6379> rpoplpush list1 list2

"list1_v2"

127.0.0.1:6379> lrange list1 0 -1

1) "list1_v1"

127.0.0.1:6379> lrange list2 0 -1

1) "list1_v2"

2) "list2_v1"

3) "list2_v2"

lindex

通過下標拿list的到元素

127.0.0.1:6379> lrange mylist 0 -1

1) "value1"

2) "value2"

127.0.0.1:6379> lindex mylist 1

"value2"

127.0.0.1:6379> lindex mylist -1

"value2"

llen

拿到list元素的個數

127.0.0.1:6379> lrange mylist 0 -1

1) "value1"

2) "value2"

127.0.0.1:6379> llen mylist

(integer) 2

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命令相反,從尾部開始新增...

redis資料型別list

list資料型別 資料儲存需求 儲存多個資料,並對資料進入儲存空間的順序進行區分 需要的儲存結構 乙個儲存空間儲存多個資料,且通過資料可以體現進入順序 list型別 儲存多個資料,底層使用雙向鍊錶儲存結構實現 資料結構特點 順序表 頭指標 aaa bb cc dd 全部平移 查詢快,增刪慢 鍊錶 頭...