Redis-数据类型-List

文章目录

1、通过客户端连接redis

bash 复制代码
[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

2、切换到第二个数据库 db1

bash 复制代码
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> 

3、查看当前库所有key

bash 复制代码
127.0.0.1:6379[1]> keys *
(empty array)
127.0.0.1:6379[1]> 

4、从左边插入一个或多个值

bash 复制代码
127.0.0.1:6379[1]> lpush k1 a b c d
(integer) 4
127.0.0.1:6379[1]> keys *
1) "k1"
127.0.0.1:6379[1]> 

5、按照索引下标获得元素(从左到右)

bash 复制代码
127.0.0.1:6379[1]> lrange k1 0 -1
1) "d"
2) "c"
3) "b"
4) "a"
127.0.0.1:6379[1]> 

6、针对key指定的list,从右边放入元素

bash 复制代码
127.0.0.1:6379[1]> rpush k2 a b c d
(integer) 4
127.0.0.1:6379[1]> lrange k2 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
127.0.0.1:6379[1]> 

7、返回list集合的长度

bash 复制代码
127.0.0.1:6379[1]> lrange k1 0 -1
1) "d"
2) "c"
3) "b"
4) "a"
127.0.0.1:6379[1]> llen k1
(integer) 4
127.0.0.1:6379[1]> lrange k2 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
127.0.0.1:6379[1]> llen k2
(integer) 4
127.0.0.1:6379[1]> 

8、从左边弹出一个元素。弹出=返回+删除

bash 复制代码
127.0.0.1:6379[1]> lrange k2 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
127.0.0.1:6379[1]> lpop k2 1
1) "a"
127.0.0.1:6379[1]> lrange k2 0 -1
1) "b"
2) "c"
3) "d"
127.0.0.1:6379[1]> 

9、从右边弹出一个元素

bash 复制代码
127.0.0.1:6379[1]> lrange k2 0 -1
1) "b"
2) "c"
3) "d"
127.0.0.1:6379[1]> rpop k2 1
1) "d"
127.0.0.1:6379[1]> lrange k2 0 -1
1) "b"
2) "c"
127.0.0.1:6379[1]> 

10、从source中rpop一个元素,lpush到destination

bash 复制代码
127.0.0.1:6379[1]> lrange k1 0 -1
1) "d"
2) "c"
3) "b"
4) "a"
127.0.0.1:6379[1]> rpoplpush k1 k3
"a"
127.0.0.1:6379[1]> lrange k1 0 -1
1) "d"
2) "c"
3) "b"
127.0.0.1:6379[1]> lrange k3 0 -1
1) "a"
127.0.0.1:6379[1]> 

11、根据索引从集合中取值,只是查看值,并没有弹出值

bash 复制代码
127.0.0.1:6379[1]> lrange k1 0 -1
1) "d"
2) "c"
3) "b"
127.0.0.1:6379[1]> lindex k1 1
"c"
127.0.0.1:6379[1]> lrange k1 0 -1
1) "d"
2) "c"
3) "b"
127.0.0.1:6379[1]> 

12、在pivot指定的值前面或后面插入value

bash 复制代码
127.0.0.1:6379[1]> lpush k4 n m l k j i h
(integer) 7
127.0.0.1:6379[1]> lrange k4 0 -1
1) "h"
2) "i"
3) "j"
4) "k"
5) "l"
6) "m"
7) "n"
127.0.0.1:6379[1]> linsert k4 after k x
(integer) 8
127.0.0.1:6379[1]> lrange k4 0 -1
1) "h"
2) "i"
3) "j"
4) "k"
5) "x"
6) "l"
7) "m"
8) "n"
127.0.0.1:6379[1]>

13、只能针对存在的list执行lpushx

bash 复制代码
127.0.0.1:6379[1]> keys *
1) "k1"
2) "k3"
3) "k2"
4) "k4"
127.0.0.1:6379[1]> lpushx k5 a b c d
(integer) 0
127.0.0.1:6379[1]> keys *
1) "k1"
2) "k3"
3) "k2"
4) "k4"
127.0.0.1:6379[1]> 

14、根据count指定的数量从key对应的list中删除value具体执行时从左往右删除,遇到一个删一个,删完为止

bash 复制代码
127.0.0.1:6379[1]> rpush k5 a b c a b c d a b c c a
(integer) 12
127.0.0.1:6379[1]> lrange k5 0 -1
 1) "a"
 2) "b"
 3) "c"
 4) "a"
 5) "b"
 6) "c"
 7) "d"
 8) "a"
 9) "b"
10) "c"
11) "c"
12) "a"
127.0.0.1:6379[1]> lrem k5 5 c
(integer) 4
127.0.0.1:6379[1]> lrange k5 0 -1
1) "a"
2) "b"
3) "a"
4) "b"
5) "d"
6) "a"
7) "b"
8) "a"
127.0.0.1:6379[1]> 

15、把指定索引位置的元素替换为另一个值

bash 复制代码
127.0.0.1:6379[1]> lrange k5 0 -1
1) "a"
2) "b"
3) "a"
4) "b"
5) "d"
6) "a"
7) "b"
8) "a"
127.0.0.1:6379[1]> lset k5 2 c
OK
127.0.0.1:6379[1]> lrange k5 0 -1
1) "a"
2) "b"
3) "c"
4) "b"
5) "d"
6) "a"
7) "b"
8) "a"
127.0.0.1:6379[1]> 

16、仅保留指定区间的数据,两边的数据被删除

bash 复制代码
127.0.0.1:6379[1]> lrange k5 0 -1
1) "a"
2) "b"
3) "c"
4) "b"
5) "d"
6) "a"
7) "b"
8) "a"
127.0.0.1:6379[1]> ltrim k5 1 3
OK
127.0.0.1:6379[1]> lrange k5 0 -1
1) "b"
2) "c"
3) "b"
127.0.0.1:6379[1]> 
相关推荐
城管不管7 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
倔强的石头1068 小时前
向量数据库从相似度检索走向融合数据底座
数据库
今天AI了吗9 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
阿里巴巴P8资深技术专家10 小时前
Redis连接工具 —— Redis Manager
redis
lilian23310 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
皮卡丘不断更10 小时前
手机优先的 Personal Ledger:把账目、学习和复盘放到同一个入口
数据库·sqlite·fastapi·开源项目·个人效率
保卫大狮兄11 小时前
设备管理从台账到报废,完整生命周期一次讲清
数据库·设备管理·设备
数据安全技术观察12 小时前
数据动态脱敏:让脱敏策略跟着数据目录走
大数据·网络·数据库
小席是个热心肠12 小时前
Redis的自我学习
数据库·redis·学习
2601_9657984713 小时前
Salient Theme Setup Guide for Fast Creative WordPress Sites
数据库·web3·php·wordpress