python redis list_Python-Redis的List操作

Redis列表是简单的字符串列表,一个列表可以包含超过40亿个元素

lpush(name,values):在name对应的list中添加元素,每个新的元素都添加到列表的最左边

rpush(name, values):在name对应的list中添加元素,每个新的元素都添加到列表的最右边

lrange(name, start, end):在name列表中分片获取数据,start为索引的起始位置,end为索引结束位置

127.0.0.1:6379> lpush name jack john andy jane

(integer) 4

127.0.0.1:6379> lrange name 0 -1

1) "jane"

2) "andy"

3) "john"

4) "jack"

127.0.0.1:6379> rpush web html javascript php

(integer) 3

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "javascript"

3) "php"

lpushx(name,value):在name对应的list中添加元素,只有name已经存在时,值才添加到列表的最左边

rpushx(name, value):在name对应的list中添加元素,只有name已经存在时,值才添加到列表的最右边

127.0.0.1:6379> lpushx name alex

(integer) 5

127.0.0.1:6379> lrange name 0 -1

1) "alex"

2) "jane"

3) "andy"

4) "john"

5) "jack"

127.0.0.1:6379> lpushx name1 alex

(integer) 0

127.0.0.1:6379> rpushx web asp

(integer) 4

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "javascript"

3) "php"

4) "asp"

llen(name):name对应的list元素的个数

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "javascript"

3) "php"

4) "asp"

127.0.0.1:6379> llen web

(integer) 4

lindex(name, index):在name对应的列表中根据索引获取列表元素

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "javascript"

3) "php"

127.0.0.1:6379> lindex web 1

"javascript"

linsert(name, where, refvalue, value):在name对应的列表的某一个值前或后插入一个新值

where为BEFORE或AFTER,refvalue为标杆值,即要插到的地方,value为要插入的数据

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "javascript"

3) "php"

4) "asp"

127.0.0.1:6379> linsert web before javascript css

(integer) 5

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "css"

3) "javascript"

4) "php"

5) "asp"

lset(name, index, value):对name对应的list中的某一个索引位置重新赋值,index为list的索引位置,value为要设置的值

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "css"

3) "javascript"

4) "php"

5) "asp"

127.0.0.1:6379> lset web -1 aspx

OK

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "css"

3) "javascript"

4) "php"

5) "aspx"

lrem(name, num, value):在name对应的list中删除指定的值

num=0时删除列表中所有的指定值,num=2时从前到后,删除2个,num=-2时从后向前,删除2个,value为要删除的值

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "css"

3) "html"

4) "javascript"

5) "php"

6) "aspx"

127.0.0.1:6379> lrem web 1 html

(integer) 1

127.0.0.1:6379> lrange web 0 -1

1) "css"

2) "html"

3) "javascript"

4) "php"

5) "aspx"

lpop(name):在name对应的list的左边获取第一个元素返回并移除

rpop(name):在name对应的list的右边获取第一个元素返回并移除

127.0.0.1:6379> lrange web 0 -1

1) "css"

2) "html"

3) "javascript"

4) "php"

5) "aspx"

127.0.0.1:6379> lpop web

"css"

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "javascript"

3) "php"

4) "aspx"

127.0.0.1:6379> rpop web

"aspx"

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "javascript"

3) "php"

ltrim(name, start, end):在name对应的list中移除没有在start到end索引之间的值,start为索引的起始位置,end为索引结束位置

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "css"

3) "javascript"

4) "php"

5) "asp"

127.0.0.1:6379> ltrim web 1 3

OK

127.0.0.1:6379> lrange web 0 -1

1) "css"

2) "javascript"

3) "php"

rpoplpush(src, dst):从一个列表取出最右边的元素,同时将其添加至另一个列表的最左边,src为要取数据的列表,dst为要添加数据的列表

127.0.0.1:6379> lrange name 0 -1

1) "alex"

2) "jane"

3) "andy"

4) "john"

5) "jack"

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "css"

3) "javascript"

4) "php"

5) "asp"

127.0.0.1:6379> rpoplpush name web

"jack"

127.0.0.1:6379> lrange name 0 -1

1) "alex"

2) "jane"

3) "andy"

4) "john"

127.0.0.1:6379> lrange web 0 -1

1) "jack"

2) "html"

3) "css"

4) "javascript"

5) "php"

6) "asp"

brpoplpush(src, dst, timeout):从一个列表的右侧移除一个元素并将其添加到另一个列表的左侧

src为取出并要移除元素的列表,dst为要插入元素的列表对应的name,timeout为当src对应的列表中没有数据时,阻塞等待其有数据的超时时间(秒),0 表示永远阻塞

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "css"

3) "javascript"

4) "php"

5) "asp"

127.0.0.1:6379> lrange name 0 -1

1) "alex"

2) "jane"

3) "andy"

4) "john"

127.0.0.1:6379> brpoplpush name web 1

"john"

127.0.0.1:6379> lrange web 0 -1

1) "john"

2) "html"

3) "css"

4) "javascript"

5) "php"

6) "asp"

127.0.0.1:6379> lrange name 0 -1

1) "alex"

2) "jane"

3) "andy"

blpop(keys, timeout):获取并移除列表从左往右的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现元素为止

brpop(keys, timeout):获取并移除列表从左往右的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现元素为止

timeout为超时时间,当元素所有列表的元素获取完之后,阻塞等待列表内有数据的时间(秒), 0 表示永远阻塞

127.0.0.1:6379> lrange web 0 -1

1) "html"

2) "css"

3) "javascript"

4) "php"

5) "asp"

127.0.0.1:6379> blpop web 1

1) "web"

2) "html"

127.0.0.1:6379> lrange web 0 -1

1) "css"

2) "javascript"

3) "php"

4) "asp"

127.0.0.1:6379> brpop web 1

1) "web"

2) "asp"

127.0.0.1:6379> lrange web 0 -1

1) "css"

2) "javascript"

3) "php"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值