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) 3key 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中文網其他相關文章!