php中redis增删改查,Redis list 之增删改查

一、增加

1、lpush [lpush key valus...]  类似于压栈操作,将元素放入头部

69c5a8ac3fa60e0848d784a6dd461da6.png

127.0.0.1:6379> lpush plist ch0 ch1 ch2

(integer) 3

127.0.0.1:6379> lrange plist 0 3

1) "ch2"

2) "ch1"

3) "ch0"

127.0.0.1:6379> lpush plist ch4

(integer) 4

127.0.0.1:6379> lrange plist 0 4

1) "ch4"

2) "ch2"

3) "ch1"

4) "ch0"

69c5a8ac3fa60e0848d784a6dd461da6.png

2 、lpushx [lpushx key valus]:只能插入已经存在的key,且一次只能插入一次

69c5a8ac3fa60e0848d784a6dd461da6.png

127.0.0.1:6379> lpushx pl ch

(integer) 0

127.0.0.1:6379> lpushx plist ch5 ch6

(error) ERR wrong number of arguments for 'lpushx' command

127.0.0.1:6379> lpushx plist ch5

(integer) 5

127.0.0.1:6379> lrange plist 0 5

1) "ch5"

2) "ch4"

3) "ch2"

4) "ch1"

5) "ch0"

69c5a8ac3fa60e0848d784a6dd461da6.png

3、rpush  [rpush key valus...] :将元素push在list的尾部

69c5a8ac3fa60e0848d784a6dd461da6.png

127.0.0.1:6379> rpush plist ch6

(integer) 6

127.0.0.1:6379> lrange plist 0 6

1) "ch5"

2) "ch4"

3) "ch2"

4) "ch1"

5) "ch0"

6) "ch6"

127.0.0.1:6379> rpush plist ch7 ch8

(integer) 8

127.0.0.1:6379> lrange plist 0 8

1) "ch5"

2) "ch4"

3) "ch2"

4) "ch1"

5) "ch0"

6) "ch6"

7) "ch7"

8) "ch8"

69c5a8ac3fa60e0848d784a6dd461da6.png

4、rpushx [rpushx key valus...] :相对于lpushx

5、linsert [linsert key before/after pivot value]:将值插入到pivot的前面或后面。返回列表元素个数。如果参照点pivot不存在不插入。如果有多个pivot,以离表头最近的为准

69c5a8ac3fa60e0848d784a6dd461da6.png

127.0.0.1:6379> linsert plist before ch1 chi

(integer) 9

127.0.0.1:6379> lrange plist 0 9

1) "ch5"

2) "ch4"

3) "ch2"

4) "chi"

5) "ch1"

6) "ch0"

7) "ch6"

8) "ch7"

9) "ch8"

127.0.0.1:6379> linsert plist before chii chi2

(integer) -1

127.0.0.1:6379> linsert plist after chi cha

(integer) 10

127.0.0.1:6379> lrange plist 0 10

1) "ch5"

2) "ch4"

3) "ch2"

4) "chi"

5) "cha"

6) "ch1"

7) "ch0"

8) "ch6"

9) "ch7"

10) "ch8"

69c5a8ac3fa60e0848d784a6dd461da6.png

//以上插入操作均是返回list的长度

二、删除

1、lpop 、rpop:分别为删除头部和尾部,返回被删除的元素

69c5a8ac3fa60e0848d784a6dd461da6.png

127.0.0.1:6379> lpop plist

"ch5"

127.0.0.1:6379> lrange plist 0 10

1) "ch4"

2) "ch2"

3) "chi"

4) "cha"

5) "ch1"

6) "ch0"

7) "ch6"

8) "ch7"

9) "ch8"

127.0.0.1:6379> rpop plist

"ch8"

127.0.0.1:6379> lrange plist 0 10

1) "ch4"

2) "ch2"

3) "chi"

4) "cha"

5) "ch1"

6) "ch0"

7) "ch6"

8) "ch7"

69c5a8ac3fa60e0848d784a6dd461da6.png

2 、ltrim [ltrim key  range_l range_r]:保留区域类的元素,其他的删除

69c5a8ac3fa60e0848d784a6dd461da6.png

127.0.0.1:6379> ltrim plist 0 3

OK

127.0.0.1:6379> lrange plist 0 10

1) "ch4"

2) "ch2"

3) "chi"

4) "cha"

69c5a8ac3fa60e0848d784a6dd461da6.png

3、lrem [lrem key count value] :移除等于value的元素,当count>0时,从表头开始查找,移除count个;当count=0时,从表头开始查找,移除所有等于value的;当count<0时,从表尾开始查找,移除|count| 个。

cout >0

69c5a8ac3fa60e0848d784a6dd461da6.png

127.0.0.1:6379> lrange plist 0 10

1) "ch0"

2) "ch0"

3) "ch0"

4) "ch4"

5) "chi"

6) "cha"

7) "ch0"

8) "ch0"

9) "ch0"

10) "ch0"

127.0.0.1:6379> lrem plist 5 ch0

(integer) 5

127.0.0.1:6379> lrange plist 0 10

1) "ch4"

2) "chi"

3) "cha"

4) "ch0"

5) "ch0"

69c5a8ac3fa60e0848d784a6dd461da6.png

count <0

69c5a8ac3fa60e0848d784a6dd461da6.png

127.0.0.1:6379> lrange plist 0 10

1) "ch0"

2) "ch9"

3) "ch0"

4) "ch0"

5) "ch0"

6) "ch4"

7) "chi"

8) "cha"

9) "ch0"

10) "ch0"

127.0.0.1:6379> lrem plist -5 ch0

(integer) 5

127.0.0.1:6379> lrange plist 0 10

1) "ch0"

2) "ch9"

3) "ch4"

4) "chi"

5) "cha"

69c5a8ac3fa60e0848d784a6dd461da6.png

三、修改

lset [lset key index value] : 设置列表指定索引的值,如果指定索引不存在则报错

69c5a8ac3fa60e0848d784a6dd461da6.png

127.0.0.1:6379> lset plist 0 ch2

OK

127.0.0.1:6379> lrange plist 0 10

1) "ch2"

2) "ch9"

3) "ch4"

4) "chi"

5) "cha"

69c5a8ac3fa60e0848d784a6dd461da6.png

四、查询

1、lindex [lindex key index]:通过索引index获取列表的元素、key>=0从头到尾,key<0从尾到头

69c5a8ac3fa60e0848d784a6dd461da6.png

127.0.0.1:6379> lrange plist 0 10

1) "ch2"

2) "ch9"

3) "ch4"

4) "chi"

5) "cha"

127.0.0.1:6379> lindex plist 0

"ch2"

127.0.0.1:6379> lindex plist -0

"ch2"

127.0.0.1:6379> lindex plist -1

"cha"

127.0.0.1:6379> lindex plist 5

(nil)

69c5a8ac3fa60e0848d784a6dd461da6.png

2、lrange [lrange key range_l range_r]:0 表头、-1表尾

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值