1.常用命令 命令以 l 開頭
##################### lpush 左邊添加元素
my-redis:0>lpush list one 1 my-redis:0>lpush list two 2 my-redis:0>lpush list three 3
##################### lrange 查看list元素 可以指定下標 0 -1(代表所有) my-redis:0>lrange list 0 -1 three two one
##################### rpush 右邊添加元素 my-redis:0>rpush list test 4 my-redis:0>lrange list 0 -1 three two one test #################### lpop 移除左邊第一個元素 my-redis:0>lpop list three
#################### rpop 移除右邊第一個元素 my-redis:0>rpop list test my-redis:0>lrange list 0 -1 two one
#################### lindex 查看某個下標的值 my-redis:0>lindex list 0 two my-redis:0>lindex list 1 one
################### llen 查看隊列的長度 my-redis:0>llen list 2 my-redis:0>lrange list 0 -1 two one
################# lrem key 數量 元素值 移除隊列中多少個 值為xxx的元素 my-redis:0>lrem list 1 one 1 my-redis:0>lrange list 0 -1 two my-redis:0>flushdb OK my-redis:0>lpush mylist huang 1 my-redis:0>lpush mylist huang1 2 my-redis:0>lpush mylist huang2 3 my-redis:0>lpush mylist huang3 4 my-redis:0>lpush mylist huang4 5 my-redis:0>lrange mylist 0 -1 huang4 huang3 huang2 huang1 huang
################### ltrim key 下標 下標 剪輯隊列 保留 某個下標到某個下標的值,其他移除 my-redis:0>ltrim mylist 1 2 OK my-redis:0>lrange mylist 0 -1 huang3 huang2 my-redis:0>flushdb OK my-redis:0>lpush list 0 hello 2 my-redis:0>lrange list 0 -1 hello 0 my-redis:0>flushdb OK my-redis:0>lrange list hello ERR wrong number of arguments for 'lrange' command my-redis:0>lpush list hello 1 my-redis:0>lpush list hello1 2 my-redis:0>lpush list hello2 3 my-redis:0>lrange list 0 -1 hello2 hello1 hello
######################## lpoplpush 原來的隊列 新的隊列 移除列表的最后一個元素,將他移動到新的列表中!
my-redis:0>rpoplpush list list2 hello my-redis:0>lrange list2 0 -1 hello my-redis:0>lrange list 0 -1 hello2 hello1
######################## lset 隊列 下標 新的值 將列表中指定下標的值替換為另外一個值,更新操作,不存在則報錯
my-redis:0>lset list 0 test OK my-redis:0>lrange list 0 -1 test hello1 my-redis:0>flushdb OK my-redis:0>rpush list hello 1 my-redis:0>rpush list word 2
############################# linsert 隊列 before/after 值 插入的值
將某個具體的value插入到列把你中某個元素的前面或者后面!
my-redis:0>linsert list before word other 3 my-redis:0>lrange list 0 -1 hello other word my-redis:0>linsert list after word other 4 my-redis:0>lrange list 0 -1 hello other word other my-redis:0>
2.小結
1.他實際上是一個鏈表,before Node after , left,right 都可以插入值
2.如果key 不存在,創建新的鏈表
3.如果key存在,新增內容
4.在兩邊插入或者改動值,效率最高! 中間元素,相對來說效率會低一點~
應用場景:消息排隊!消息隊列 (Lpush Rpop), 棧( Lpush Lpop)!