前面我们介绍了 redis中的string 类型,和用法【还是 那句话 这些命令都不用去记忆增加自己的负担留个影响,用的时候查就行了】
求关注
今天我们来介绍一下 redis中的 列表【当然你可以规定把它玩成 栈和队列都是可以的】
所有的list命令都是用l开头的,Redis不区分大小命令 ,别问我什么是链表【默认会数据结构哦】
Demo
- 127.0.0.1:6379> ping
- PONG
- 127.0.0.1:6379> LPUSH list one
- (integer) 1
- 127.0.0.1:6379> LPUSH list two
- (integer) 2
- 127.0.0.1:6379> LPUSH list three
- (integer) 3
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "three"
- 2) "two"
- 3) "one"
- 127.0.0.1:6379> LRANGE list 0 1
- 1) "three"
- 2) "two"
- 127.0.0.1:6379> RPUSH list 4
- (integer) 4
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "three"
- 2) "two"
- 3) "one"
- 4) "4"
------------------------------------------------------------------------------------
- 127.0.0.1:6379> LPUSH list 1
- (integer) 1
- 127.0.0.1:6379> LPUSH list 2
- (integer) 2
- 127.0.0.1:6379> LPUSH list 3
- (integer) 3
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "3"
- 2) "2"
- 3) "1"
- 127.0.0.1:6379> Lpop list
- "3"
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "2"
- 2) "1"
------------------------------------------------------------------------------------
- 127.0.0.1:6379> LPUSH list 1
- (integer) 1
- 127.0.0.1:6379> LPUSH list 2
- (integer) 2
- 127.0.0.1:6379> LPUSH list 3
- (integer) 3
- 127.0.0.1:6379> LINDEX list 0
- "3"
- 127.0.0.1:6379> LINDEX list 3
- (nil)
- 127.0.0.1:6379> LINDEX list 2
- "1"
- 127.0.0.1:6379> LLEN list
- (integer) 3
- 127.0.0.1:6379> FLUSHDB
- OK
- 127.0.0.1:6379> LRANGE list 0 -1
- (empty list or set)
- 127.0.0.1:6379> Lpush list one
- (integer) 1
- 127.0.0.1:6379> Lpush list two
- (integer) 2
- 127.0.0.1:6379> rpush list 6379
- (integer) 3
- 127.0.0.1:6379> lrem list 1 one
- (integer) 1
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "two"
- 2) "6379"
- 127.0.0.1:6379> Lpush list two
- (integer) 3
- 127.0.0.1:6379> LREM list 2 two
- (integer) 2
------------------------------------------------------------------------------------
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "6379"
- 127.0.0.1:6379> RPUSH list 6380
- (integer) 2
- 127.0.0.1:6379>
- 127.0.0.1:6379> RPUSH list 6381
- (integer) 3
- 127.0.0.1:6379> RPUSH list 6382
- (integer) 4
- 127.0.0.1:6379>
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "6379"
- 2) "6380"
- 3) "6381"
- 4) "6382"
- 127.0.0.1:6379> LTRIM list 0 2
- OK
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "6379"
- 2) "6380"
- 3) "6381"
- 127.0.0.1:6379> EXISTS list1
- (integer) 0
- 127.0.0.1:6379> EXISTS list
- (integer) 1
- 127.0.0.1:6379> LSET list 1 hello
- OK
- 127.0.0.1:6379> LSET list 3 hello
- (error) ERR index out of range
------------------------------------------------------------------------------------
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "6379"
- 2) "hello"
- 3) "6381"
- 127.0.0.1:6379> LINSERT list before "hello" yingyingying
- (integer) 4
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "6379"
- 2) "yingyingying"
- 3) "hello"
- 4) "6381"
- 127.0.0.1:6379> LINDEX list after 6381 9999
- (error) ERR wrong number of arguments for 'lindex' command
- 127.0.0.1:6379> Linsert list after 6381 9999
- (integer) 5
- 127.0.0.1:6379> LRANGE list 0 -1
- 1) "6379"
- 2) "yingyingying"
- 3) "hello"
- 4) "6381"
- 5) "9999"