redis我记不住的那些命令(四)-创新互联

背景:我记不住那么多命令,又是Linux命令,又是Git命令,又是kubernetes的命令,又是maven命令,又是redis命令。所谓好记性不如烂笔头,记下来吧。 一、list类型 1. rpush : 从列表右侧推入,即 right push

2. lpush:从列表左侧推入,即 left push

创新互联公司是一家集网站建设,范县企业网站建设,范县品牌网站建设,网站定制,范县网站建设报价,网络营销,网络优化,范县网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

3. rpop : 从列表右侧弹出,即 right pop

4. lpop :从列表左侧弹出,即 left pop

5. lindex :返回列表的偏移量offset的元素,其实和数组非常类似,从0开始

6. lrange:返回列表的start到end的子列表,即 [start,end] ,左闭右闭,仅仅是截取列表,不改变原有列表的值。

7. llen : 获取列表长度

8. ltrim : 返回列表的截取部分,即 [start,end] ,左闭右闭 ,这个命令与第6条的区别在于 ltrim改变了原有列表的值。

9. lset:通过索引来设置元素的值

10. blpop : 从非空列表中弹出最左侧的元素,这里会有timeout,如果此列表为空,则进行等待或阻塞timeout的时间,单位是秒。当时间到了列表依旧是空,则无任何返回。 b是block阻塞的意思

11. brpop :  这个命令同第10个命令的功能一致,只不过是从右侧弹出。b是block阻塞的意思

12. rpoplpush :  这是一个组合的命令,意思是从一个列表右侧弹出,并从左侧推送到另外一个列表中

13. brpoplpush:这个命令与第12个命令不同之处在于有一个timeout值,单位为秒,b是block的意思,用于阻塞等待,和第10个命令和第11个命令相似。

14. lpushx / rpushx : 这个命令是将数据从左侧插入或右侧插入到列表,不同之处在于如果这个列表不存在,则不执行操作。如果这个列表存在,则进行插入操作。

15. lrem : 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。
COUNT 的值可以是以下几种:
count >0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
count< 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
count = 0 : 移除表中所有与 VALUE 相等的值

格式为: lrem key count VALUE

16. linsert  用于在某个元素前或后插入元素,当指定的元素不存在列表中,则不执行操作;当列表不存在也不执行任何操作。如果key不是列表类型,则返回错误。

格式为: linsert key BEFORE|AFTER pivot value

# 1. rpush : 从列表右侧推入,即 right push
127.0.0.1:6379>rpush mylist1 a
1
127.0.0.1:6379>rpush mylist1 b c d e f g h
8

# 2. lpush:从列表左侧推入,即 left push
略

# 3. rpop : 从列表右侧弹出,即 right pop
略

# 4. lpop :从列表左侧弹出,即 left pop
略

# 5. lindex :返回列表的偏移量offset的元素,其实和数组非常类似,从0开始
127.0.0.1:6379>lindex mylist1 0
a
127.0.0.1:6379>lindex mylist1 1
b

# 6. lrange:返回列表的start到end的子列表,即 [start,end] ,左闭右闭,仅仅是截取列表,不改变原有列表的值。
127.0.0.1:6379>lrange mylist1 0 -1
a
b
c
d
e
f
g
h

127.0.0.1:6379>lrange mylist1 1 -2
b
c
d
e
f
g

# 7. llen : 获取列表长度
127.0.0.1:6379>llen mylist1
8

# 8. ltrim : 返回列表的截取部分,即 [start,end] ,左闭右闭 ,这个命令与第6条的区别在于 ltrim改变了原有列表的值
127.0.0.1:6379>ltrim mylist1 1 -2
OK
127.0.0.1:6379>lrange mylist1 0 -1
b
c
d
e
f
g

# 9. lset:通过索引来设置元素的值
127.0.0.1:6379>lset mylist1 0 z
OK
127.0.0.1:6379>lrange mylist1 0 -1
z
c
d
e
f
g

# 10. blpop : 从非空列表中弹出最左侧的元素,示例中的5是timeout值,如果此列表为空,则进行等待或阻塞timeout的时间,单位是秒。当时间到了列表还是空的话,则无任何返回
127.0.0.1:6379>blpop mylist2 5

127.0.0.1:6379>blpop mylist3 5

127.0.0.1:6379>rpush mylist2 csdn
1
127.0.0.1:6379>blpop mylist2 5
mylist2
csdn
127.0.0.1:6379>lrange mylist2 0 -1


# 11. brpop : 这个命令同第10个命令的功能一致,只不过是从右侧弹出
127.0.0.1:6379>brpop mylist2 5

127.0.0.1:6379>brpop mylist3 5

127.0.0.1:6379>rpush mylist2 csdn github gitee
3
127.0.0.1:6379>brpop mylist2 5
mylist2
gitee
127.0.0.1:6379>lrange mylist2 0 -1
csdn
github

# 12. rpoplpush :  这是一个组合的命令,意思是从一个列表右侧弹出,并从左侧推送到另外一个列表中,返回的是弹出的值。
127.0.0.1:6379>lrange mylist2 0 -1
csdn
github
127.0.0.1:6379>rpoplpush mylist2 mylist3
github
127.0.0.1:6379>lrange mylist2 0 -1
csdn
127.0.0.1:6379>lrange mylist3 0 -1
github

# 13. brpoplpush:这个命令与第12个命令不同之处在于有一个timeout值,单位为秒,b是block的意思,用于阻塞等待,和第10个命令和第11个命令相似。
127.0.0.1:6379>brpoplpush mylist2 mylist3 5
csdn
127.0.0.1:6379>lrange mylist2 0 -1

127.0.0.1:6379>lrange mylist3 0 -1
csdn
github

# 14. lpushx / rpushx : 这个命令是将数据从左侧插入或右侧插入到列表,不同之处在于如果这个列表不存在,则不执行操作。如果这个列表存在,则进行插入操作。
127.0.0.1:6379>lpushx mylist4 chinanews
0
127.0.0.1:6379>lrange mylist4 0 -1

rpushx同理,只是方向不同而已

# 15. lrem  Redis Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。
COUNT 的值可以是以下几种:
count >0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
count< 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
count = 0 : 移除表中所有与 VALUE 相等的值
格式为 LREM key count VALUE

127.0.0.1:6379>rpush mylist2 csdn github gitee google
4
127.0.0.1:6379>rpush mylist2 csdn github gitee google
8
127.0.0.1:6379>lrange mylist2 0 -1
csdn
github
gitee
google
csdn
github
gitee
google
127.0.0.1:6379>lrem mylist2 0 csdn
2
127.0.0.1:6379>lrange mylist2 0 -1
github
gitee
google
github
gitee
google

127.0.0.1:6379>lrem mylist2 1 gitee
1
127.0.0.1:6379>lrange mylist2 0 -1
github
google
github
gitee
google

127.0.0.1:6379>lrem mylist2 -1 gitee
1
127.0.0.1:6379>lrange mylist2 0 -1
github
google
github
google

# 16. linsert 用于在列表的元素前或者后插入元素。当指定元素不存在于列表中时,不执行任何操作。当列表不存在时,被视为空列表,不执行任何操作。如果 key 不是列表类型,返回一个错误
127.0.0.1:6379>linsert mylist2 before github gitee
5
127.0.0.1:6379>lrange mylist2 0 -1
gitee
github
google
github
google
127.0.0.1:6379>linsert mylist2 after github gitee
6
127.0.0.1:6379>lrange mylist2 0 -1
gitee
github
gitee
google
github
google

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:redis我记不住的那些命令(四)-创新互联
网址分享:http://myzitong.com/article/dcjejd.html