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
LRANGE 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"
NOTE:超出范圍設置為報錯
redis?127.0.0.1:6379>?lset?numbers?2?3 (error)?ERR?index?out?of?range
LTRIM key start end??? #切割原來的列表,指定范圍外的元素會被刪除
redis?127.0.0.1:6379>?lrange?numbers?0?-1 "4" "3" "2" "1"
redis?127.0.0.1:6379>?ltrim?numbers?1?2 OK redis?127.0.0.1:6379>?lrange?numbers?0?-1 "3" "2"
LINSERT key before|after? pivot value?? # 向列表中插入值,看名字就應該看出來了,在pivot? 前面還是后面插入啊
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"
RPOPLPUSH? source? destination?? #將一個元素的從source右邊彈出,并加入到destination的左邊
redis>?LRANGE?alpha?0?-1?????????#?查看所有元素 "a" "b" "c" "d" redis>?RPOPLPUSH?alpha?reciver???#?執行一次?RPOPLPUSH?看看 "d"
redis>?LRANGE?alpha?0?-1 "a" "b" "c" redis>?LRANGE?reciver?0?-1 "d"
相關推薦:mysql視頻教程:https://www.php.cn/course/list/51.html