redis学习---list操作

list操作

进入docker容器,连接redis client服务

[root@iZbp1anm6ub4cms5pa42hkZ ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED       STATUS       PORTS                                       ES
7aebc46c3177   tomcat         "catalina.sh run"        7 days ago    Up 7 days    0.0.0.0:80->8080/tcp, :::80->8080/tcp       cat03
d1cdf93d7655   mysql:latest   "docker-entrypoint.s…"   7 days ago    Up 7 days    33060/tcp, 0.0.0.0:3305->3306/tcp, :::3305->ql02
2bc379badae1   redis:latest   "docker-entrypoint.s…"   11 days ago   Up 11 days   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   is01
059163bf0cd4   tomcat         "catalina.sh run"        6 weeks ago   Up 6 weeks   0.0.0.0:3355->8080/tcp, :::3355->8080/tcp   cat01

[root@iZbp1anm6ub4cms5pa42hkZ ~]# docker exec -it 2bc379 /bin/bash
root@2bc379badae1:/data# redis-cli -h 172.17.0.3 -p 6379
172.17.0.3:6379> 

操作(输入以下,会出现提示):
lpush
rpush
lpop
rpop
lrange
lindex
lrem
ltrim
llen
rpoplpush
lset
linsert

172.17.0.3:6379> LPUSH list one
(integer) 1
172.17.0.3:6379> LPUSH list two
(integer) 2
172.17.0.3:6379> LPUSH list three
(integer) 3
172.17.0.3:6379> LRANGE list 0 -1
1) "three"
2) "two"
3) "one"
172.17.0.3:6379> LRANGE list 0 2
1) "three"
2) "two"
3) "one"
172.17.0.3:6379> LRANGE list 0 1
1) "three"
2) "two"
172.17.0.3:6379> LRANGE list 0 0
1) "three"
172.17.0.3:6379> LRANGE list 0 0 

  • LPUSH key element #在左边新添加元素,可添加多个,元素之间以空格隔开
  • RPUSH key element #在右边新添加元素
  • LRANGE key start end #获取元素值
  • LPOP key count #移除列表元素,从列表头开始
  • RPOP key count #移除列表元素,从列表尾开始
  • LINDEX key index #获取指定下标的值
172.17.0.3:6379> LPOP list 2
1) "three"
2) "two"
172.17.0.3:6379> LRANGE list 0 -1
1) "one"
2) "four"
172.17.0.3:6379> LINDEX list 1
"four"
172.17.0.3:6379> LINDEX list 0
"one"
172.17.0.3:6379> LPUSH list nine,eight
(integer) 3
172.17.0.3:6379> LINDEX list 
(error) ERR wrong number of arguments for 'lindex' command
172.17.0.3:6379> LRANGE list
(error) ERR wrong number of arguments for 'lrange' command
172.17.0.3:6379> LRANGE list 0 -1
1) "nine,eight"
2) "one"
3) "four"
172.17.0.3:6379> Lpop list 1
1) "nine,eight"
172.17.0.3:6379> LRANGE list 0 -1
1) "one"
2) "four"
172.17.0.3:6379> LPUSH list nine eight
(integer) 4
172.17.0.3:6379> 
  • llen list #获取列表长度
  • lrem list count element #移除指定数量的元素
  • ltrim list start end #通过下表截取指定长度,截断
172.17.0.3:6379> LRANGE list 0 -1
1) "eight"
2) "nine"
3) "one"
4) "four"
172.17.0.3:6379> lrem list eight
(error) ERR wrong number of arguments for 'lrem' command
172.17.0.3:6379> lrem list 1
(error) ERR wrong number of arguments for 'lrem' command
172.17.0.3:6379> lrem list 1 nine
(integer) 1
172.17.0.3:6379> ltrim list 1 2
OK
172.17.0.3:6379> LRANGE list 0 -1
1) "one"
2) "four"
172.17.0.3:6379> 

  • rpoplpush 移除最后一个元素 将其添加到另一个列表
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210701170508640.png
172.17.0.3:6379> rpush list2 "hello" "hello1" "hello3" "hello4"
(integer) 4
172.17.0.3:6379> lrange list2
(error) ERR wrong number of arguments for 'lrange' command
172.17.0.3:6379> lrange list2 0 -1
1) "hello"
2) "hello1"
3) "hello3"
4) "hello4"
172.17.0.3:6379> rpoplpush list2 list3
"hello4"
172.17.0.3:6379> lrange list2 0 -1
1) "hello"
2) "hello1"
3) "hello3"
172.17.0.3:6379> lrange list3 0 -1
1) "hello4"
  • lset ket index value #将列表中指定下标的值替换为另一个值
    注意:不存在列表会报错,下标错误会报错
172.17.0.3:6379> exists list
(integer) 0
172.17.0.3:6379> lset list 0 ie
(error) ERR no such key
172.17.0.3:6379> lpush list value1
(integer) 1
172.17.0.3:6379> lset list 1 ie
(error) ERR index out of range
172.17.0.3:6379> lset list 0 ie
  • linsert 插入值
    在这里插入图片描述
172.17.0.3:6379> lrange list 0 -1
1) "ie"
172.17.0.3:6379> lindex list 0
"ie"
172.17.0.3:6379> LINSERT list before ie firefox
(integer) 2
172.17.0.3:6379> lrange list 0 -1
1) "firefox"
2) "ie"
172.17.0.3:6379> LINSERT list after ie chrom
(integer) 3
172.17.0.3:6379> lrange list 0 -1
1) "firefox"
2) "ie"
3) "chrom"
172.17.0.3:6379> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值