大数跨境
0
0

List 操作

List 操作 易道云信息院
2023-04-28
1
导读:List 操作

redis中的List在内存中按照一个name对应一个List来存储
1. lpush
# 在name对应的list中添加元素,每个新的元素都添加到列表的最左边
lpush(name,values)
>>> r.lpush("list_name",2)
1
>>> r.lpush("list_name",3,4,5)#保存在列表中的顺序为5,4,3,2
4
>>> r.lrange("list_name", 0, 5)
[b'5', b'4', b'3', b'2']
2. lrange
#分片获取元素
lrange(name, start, end)
>>> print(r.lrange("list_name2",0,-1))
[b'3', b'4', b'5']
3. rpush
#同lpush,但每个新的元素都添加到列表的最右边
rpush(name,values)
>>> r.rpush("list_name2",2)
1
>>> r.rpush("list_name2",3,4,5)#保存在列表中的顺序为2,3,4,5
4
>>> r.lrange("list_name2", 0, 5)
[b'2', b'3', b'4', b'5']
4. lpushx
#在name对应的list中添加元素,只有name已经存在时,值添加到列表的最左边
lpushx(name,value)
5. rpushx
#在name对应的list中添加元素,只有name已经存在时,值添加到列表的最右边
rpushx(name,value)
6. llen
# name对应的list元素的个数
llen(name)
>>> print(r.llen("list_name2"))
4
7. linsert
# 在name对应的列表的某一个值前或后插入一个新值
linsert(name, where, refvalue, value))
'''参数:
name: redis的name
where: BEFORE(前)或AFTER(后)
refvalue: 列表内的值
value: 要插入的数据'''
>>> r.linsert("list_name2","BEFORE","2","SS")#在列表内找到第一个元素2,在它前面插入SS
5
>>> r.lrange("list_name2", 0, 5)
[b'SS', b'2', b'3', b'4', b'5']
8. lset
#对list中的某一个索引位置重新赋值
r.lset(name, index, varlue)
>>> r.lrange("list_name", 0, 7)
[b'5', b'4', b'3', b'2', b'2', b'3', b'4', b'5']
>>> r.lset("list_name",0,"bbb")
True
>>> r.lrange("list_name", 0, 7)
[b'bbb', b'4', b'3', b'2', b'2', b'3', b'4', b'5']
9. lrem
#删除name对应的list中的指定值
r.lrem(name, num, value)
''' 参数:
name: redis的name
num: num=0 删除列表中所有的指定值;
num=2 从前到后,删除2个;
num=-2 从后向前,删除2个'''
value: 要删除的值
>>> r.lrange("list_name2", 0, 7)
[b'SS', b'2', b'3', b'4', b'5']
>>> r.lrem("list_name2", 0, 'SS')
1
>>> r.lrange("list_name2", 0, 7)
[b'2', b'3', b'4', b'5']
10. lpop
#移除列表的左侧第一个元素,返回值则是第一个元素
lpop(name)
>>> r.lrange("list_name2", 0, 7)
[b'2', b'3', b'4', b'5']
>>> print(r.lpop("list_name2"))
b'2'
>>> r.lrange("list_name2", 0, 7)
[b'3', b'4', b'5']
11. lindex
#根据索引获取列表内元素
lindex(name, index)
>>> r.lrange("list_name2", 0, 7)
[b'3', b'4', b'5']
>>> print(r.lindex("list_name2",1))
b'4'
>>> print(r.lindex("list_name2",0))
b'3'
12. ltrim
#移除列表内没有在该索引之内的值
ltrim(name, start, end)
>>> print(r.lrange("list_name",0, -1))
[b'bbb', b'4']
>>> print(r.lrange("list_name2",0, -1))
[b'3', b'4', b'5']
>>> r.ltrim("list_name2",0,1)
True
>>> print(r.lrange("list_name2",0, -1))
[b'3', b'4']
13. rpoplpush
# rpoplpush(src, dst)从一个列表取出最右边的元素,同时将其添加至另一个列表的最左边
#src 要取数据的列表
#dst 要添加数据的列表
>>> print(r.lrange("list_name2",0, -1))
[b'3', b'4']
>>> print(r.lrange("list_name",0, -1))
[b'bbb', b'4']
>>> print(r.lrange("list_name2",0, -1))
[b'3', b'4']
>>> print(r.rpoplpush("list_name", "list_name2"))
b'4'
>>> print(r.lrange("list_name",0, -1))
[b'bbb']
>>> print(r.lrange("list_name2",0, -1))
[b'4', b'3', b'4']

END

下期精彩继续

等你来哦

👇👇👇

【声明】内容源于网络
0
0
易道云信息院
致力成为编程领域最值得信赖的学习服务平台
内容 35
粉丝 0
易道云信息院 致力成为编程领域最值得信赖的学习服务平台
总阅读0
粉丝0
内容35