Redis語法介紹值Lists

Lists(列表)常用命令有:

一、增

127.0.0.1:6379> lpush list01 1 2 3 4 rr //向列表左側添加5個數據
(integer) 5
127.0.0.1:6379> lrange list01 0 -1 // 查詢出類表所有數據 從上到下索引是0, 1, 2 ...
1) "rr"
2) "4"
3) "3"
4) "2"
5) "1"
127.0.0.1:6379> rpush list02 0 1 2 3 4 //向列表左側添加數據
(integer) 5
127.0.0.1:6379> lrange list02 0 -1
1) "0"
2) "1"
3) "2"
4) "3"
5) "4"

二、刪

127.0.0.1:6379> lpop list01 // 彈出最左側數據, 每次彈出一個
"rr"
127.0.0.1:6379> rpop list02 // 彈出右側數據, 每次彈出一個
"4"
127.0.0.1:6379> lrange list02 0 -1
1) "0"
2) "1"
3) "2"
4) "3"
127.0.0.1:6379> lrem list03 2 2 // LREM KEY_NAME COUNT VALUE 刪除兩個 2
(integer) 2 

三、改

127.0.0.1:6379> lrange list01 0 -1        
1) "5"                                    
2) "4"                                    
3) "3"                                    
4) "2"                                    
127.0.0.1:6379> lrange list02 0 -1        
1) "0"                                    
2) "1"                                    
3) "2"                                    
4) "3"                                    
127.0.0.1:6379> rpoplpush list01 list02   //彈出list01的左邊數據給列表list02
"2"                                       
127.0.0.1:6379> lrange list02 0 -1        
1) "2"                                    
2) "0"                                    
3) "1"                                    
4) "2"                                    
5) "3"                                    
127.0.0.1:6379> lrange list01 0 -1        
1) "5"                                    
2) "4"                                    
3) "3"                                    
127.0.0.1:6379> lset list01 0 x // 設置索引0的值爲x          
OK                                        
127.0.0.1:6379> lrange list01 0 -1        
1) "x"                                    
2) "4"                                    
3) "3"                                    
127.0.0.1:6379> linsert list01 before x y //在x前插入y
(integer) 4                               
127.0.0.1:6379> lrange list01 0 -1        
1) "y"                                    
2) "x"                                    
3) "4"                                    
4) "3"                                    
127.0.0.1:6379> linsert list01 after x z  //在x後插入y
(integer) 5                               
127.0.0.1:6379> lrange list01 0 -1
 1) "7"
 2) "6"
 3) "5"
 4) "4"
 5) "3"
 6) "2"
 7) "1"
 8) "4"
 9) "3"
10) "2"
11) "1"
127.0.0.1:6379> ltrim list01 2 5 //截取索引2 到 5的值 並重新賦值給列表
OK
127.0.0.1:6379> lrange list01 0 -1
1) "5"
2) "4"
3) "3"
4) "2"

四、查

127.0.0.1:6379> lindex list02 1 // 輸出索引1的值
"1"
127.0.0.1:6379> lindex list02 4
(nil)
127.0.0.1:6379> lindex list02 3
"3"
127.0.0.1:6379> llen list02 // 返回列表的長度
(integer) 4

五、性能總結

  • 是一個字符串鏈表,left、right 都可以插入添加
  • 如果鍵不存在, 創建新的鏈表
  • 如果鍵已存在, 新增內容
  • 鏈表的操作無論是頭和尾效率都極高,但是假如是對中間元素進行操作, 效率就很慘淡了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章