首頁 >資料庫 >Redis >redis列表類型介紹

redis列表類型介紹

尚
轉載
2020-03-24 09:19:431766瀏覽

redis列表類型介紹

Redis列表是簡單的字串列表,依照插入順序排序。你可以將一個元素新增到清單的頭部(左邊)或尾部(右邊)

建議:redis入門教學

一個清單最多可以包含232 - 1 個元素(4294967295, 每個清單超過40億個元素)。

{
    'numbers': [1, 2, 3, 4, 5, 6, 7,8]
    'letters': ['a', 'b', 'c', 'd', 'e', 'f', 'g','h']
}

這就是列表類型,列表內的元素必須是字串,不能用資料類型嵌套了。

列表類型的所有操作就是對key 對應的列表操作,(想想都應該有,添加,刪除,指定位置插入,指定位置刪除,彈出,切割,python中有的,我想redis應該都有吧)

LPUSH  key value [value ...]      #向左側新增元素

redis 127.0.0.1:6379> lpush numbers 1
(integer) 1
redis 127.0.0.1:6379> lpush numbers 2 3
(integer) 3

RPUSH key value  [value ...]         # 右側新增資料

LLEN key         #取得清單中元素的數量##

redis 127.0.0.1:6379> llen numbers
(integer) 3
key  sart  stop  #  取得清單片段  類似python的切片功能,差異在於切片時傳回資料包含stop位置資料

redis 127.0.0.1:6379> lrange numbers 0 -1   #获取所有的列表内数据
"3"
"2"
"1"
redis 127.0.0.1:6379> lrange numbers 0 0
"3"
redis 127.0.0.1:6379> lrange numbers 0 5
"3"
"2"
"1"
redis 127.0.0.1:6379> lrange numbers 0 3
"3"
"2"
"1"
LPOP key    # 從左側彈出一個元素

redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
"1"
redis 127.0.0.1:6379> lpop numbers
"3"
redis 127.0.0.1:6379> lrange numbers 0 -1
"2"
"1"
RPOP   #從右側彈出一個元素  原理同上

LREM key count value    

#  刪除清單中的指定值

##count >0 從count的位置左邊開始刪除等於value的值

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"
"2"
"1"
redis 127.0.0.1:6379> lrem numbers 1 3
(integer) 1
redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"2"
"1"

#count >0 從count的位置左邊開始刪除等於value的值

#count=0  刪除所有值為value的元素

LINDEX key index      #取得指定索引的元素值

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"1"
redis 127.0.0.1:6379> lindex numbers 3
(nil)  #没有返回nil
redis 127.0.0.1:6379> lindex numbers 1
"1"
redis 127.0.0.1:6379> lindex numbers 0
"4"
#LSET key index value 

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"1"
redis 127.0.0.1:6379> lset numbers 1 2
OK
redis 127.0.0.1:6379> lset numbers 1 3
OK
redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"
redis 127.0.0.1:6379> lset numbers 2 3
(error) ERR index out of range

#LSET key index value 設定指定位置的值,一定要注意,是把原先位置的給替換掉,除非原先這個位置沒有值

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"
"2"
"1"

NOTE:超出範圍設定為報錯

#
redis 127.0.0.1:6379> ltrim numbers 1 2
OK
redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"

LTRIM key start end    #切割原來的列表,指定範圍外的元素會被刪除

redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
redis 127.0.0.1:6379> linsert numbers after 2 1
(integer) 3
redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
"1"
redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
"1"
redis 127.0.0.1:6379> linsert numbers before 3 4
(integer) 4
redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"
"2"
"1"
redis> LRANGE alpha 0 -1         # 查看所有元素
"a"
"b"
"c"
"d"

redis> RPOPLPUSH alpha reciver   # 执行一次 RPOPLPUSH 看看
"d"

LINSERT key before|after  pivot value  #LINSERT key before|after  pivot value  # 向列表中插入值,看名字就應該看出來了,在pivot  前面還是後面插入啊

redis> LRANGE alpha 0 -1
"a"
"b"
"c"

redis> LRANGE reciver 0 -1
"d"
RPOPLPUSH  source  destination   #將一個元素的從source右邊彈出,並加入到destination的左邊

rrreeerrreee

相關推薦:

mysql影片教學:https://www.php.cn/course/list/51.html

###

以上是redis列表類型介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:oschina.net。如有侵權,請聯絡admin@php.cn刪除