redis学习系列--4.redis-lists 类型

本文详细介绍了 Redis 中 List 数据结构的基本操作及应用场景。包括如何利用 List 实现栈和队列的功能,以及各种实用的方法如 lpush、lrange、rpush 等。通过这些操作,读者可以更好地理解和掌握如何在实际项目中运用 Redis 的 List 结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

list是一个链表结构,主要功能是pop, push,获取一个范围内的所有值等,操作中key理解为链表的名字.list既可以用作栈也可以用作队列.

栈: 先进后出.  队列: 先进先出.  list的主要方法有.

1.lpush   //在key对应list的头部添加字符串元素.(类似栈操作)

lpush  name  hou1
输出: (integer)1        //添加成功
lpush  name  hou2
输出: (integer)1        //添加成功

2.lrange   //获取key的内容, 参数: 开始下标,  结束下标

lrange   name  0  -1    //开始下标, 结束下标的位置
输出: 1)"hou2"
输出: 2)"hou1"

3.rpush   //在key对应的list尾部添加字符串元素 (类似队列操作)

rpush  name   hou3 
lrange name  0  -1
输出: 1)"hou2"
输出: 2)"hou1"
输出: 3)"hou3"

4.linsert   //在key对应list的特定位置之前或之后添加字符串元素

linsert  name  before  hou3  hou4
lrange name  0  -1
输出: 1)"hou2"
输出: 2)"hou1"
输出: 3)"hou4"
输出: 4)"hou3"

5.lset   //设置list中指定下表的元素值(下标从0开始)

lset  name  0  hou0
输出: ok
lrange  name 0  -1
输出: 1)"hou0"
输出: 2)"hou1"
输出: 3)"hou4"
输出: 4)"hou3"

6.lrem   //从对应list中删除count个和value相同的元素(count>0时,按从头到尾的顺序删除,   count<0 时,按从尾到头的顺序删除)

lrem   name  1 hou4
输出: (integer)1    //删除成功
lrange name  0  -1
输出: 1)"hou0"
输出: 2)"hou1"
输出: 3)"hou3"

7.ltrim   //保留指定key的值范围内的数据

ltrim   name  0 1
输出: ok
lrange name 0 -1
输出: 1)"hou0"
输出: 2)"hou1"

8.lpop  //从list的头部删除元素,并返回删除元素

lpop  name
输出: "hou0"
lrange  name  0 -1
输出: 1)"hou1"

9.rpop  //从list的尾部删除元素,并返回删除元素

lpush name hou2
lrange  name 0 -1
输出: 1)"hou2"
输出: 2)"hou1"
rpop  name 
输出: "hou1"

10.rpoplpush  //从第一个list的尾部移除元素并添加到第二个list的头部,最后反回被移除的元素值,整个操作是原子的,如果第一个list是空或者不存在返回nil(空)

rpoplpush  name  name2
输出: "hou2"
lrange  name  0 -1
输出: (empty list  or set)

11. lindex  //返回名称为key的list 中index位置的元素

lrange  user2  0 -1
输出: "hou2"
lindex  user2 0
输出: "hou2"

12.llen  //返回key对应的list的长度

len user2
输出: (integer)1















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值