Redis中Ipush和rpush相关简易说明

lpush和rpush概念省流:都是向表中从左到右插入值,lpush是从表头插入,rpush是从表尾插入lpush演示说明rpush演示说明在同一list中混合使用的演示lpop和rpop概念省流:lpop和rpop都是移除并获取被移除的元素,lpop是从表头,rpop是从表尾lpop和rpop简单演示拓展结语

lpush和rpush概念

Ipush:将一个或多个值value插入到列表key的表头,并且各个值value按从左到右的顺序依次插入。 rpush:将一个或多个值value插入到列表key的表尾,并且各个值value按从左到右的顺序依次插入。

省流:都是向表中从左到右插入值,lpush是从表头插入,rpush是从表尾插入

lpush演示说明

使用lpush创建list

lpush list a,b,c

当输入代码后,其真正执行结果相当于按顺序执行三段不同代码

1.lpush key a

2.lpush key b

3.lpush key c

当输入第1段代码时list为 a 此时a为表头第0个元素

当输入第2段代码时list为 b,a 因为是从左到右插入表头,所以b从左插入到a前面成为表头第0元素

当输入第3段代码时list为 c,b,a 因为c最后执行也是从左到右插入,所以插到b前面成为第0个元素

所以在执行lrange list 0 -1 时结果为

(1)"c"

(2)"b"

(3)"a"

rpush演示说明

使用rpush创建list

rpush list a,b,c

当输入代码后,其真正执行结果相当于按顺序执行三段不同代码

1.rpush key a

2.rpush key b

3.rpush key c

当输入第1段代码时list为 a 此时a为表头第0个元素

当输入第2段代码时list为 a,b 因为是从左到右插入表尾,所以b从左插入到a后面成为表尾第1元素

当输入第3段代码时list为 a,b,c 因为c最后执行也是从左到右插入,所以插到b后面成为第2个元素

所以在执行lrange list 0 -1 时结果为

(1)"a"

(2)"b"

(3)"c"

在同一list中混合使用的演示

使用lpush创建list

lpush list a,b,c

此时查询结果为

(1)"c"

(2)"b"

(3)"a"

输入rpush list d

此时查询结果为

(1)"c"

(2)"b"

(3)"a"

(4)"d" 因为rpush是从左往右插入表尾,所以直接插到a后面成为最后一个元素

使用rpush创建list

rpush list a,b,c

此时查询结果为

(1)"a"

(2)"b"

(3)"c"

输入lpush list d

此时查询结果为

(1)"d"

(2)"a"

(3)"b"

(4)"c" 因为lpush是从左往右插入表头,所以直接插到a前面成为第0个元素

lpop和rpop概念

lpop key :移除并获取列表的第一个元素 rpop key :移除并获取列表最后一个元素

省流:lpop和rpop都是移除并获取被移除的元素,lpop是从表头,rpop是从表尾

lpop和rpop简单演示

现有键名为”list“的列表,包含以下元素[a,b,c,d]

输入lpop list

此时list元素变为[b,c,d],并且返回被移除的元素"a"

继续输入rpop list

此时list元素变为[b,c],并且返回被移除的元素"d"

拓展

当一起使用 lpush 和 lpop 时其作用相当于栈(先进后出)

举例有个list表,现在往里面插入元素

首先输入lpush a

再输入lpush b

再输入lpush c

此时list表为

(1)"c"

(2)"b"

(3)"a"

使用lpop list 后list为

(1)"b"

(2)"a"

此时可以发现最先插入的元素a还在,最后插入的元素c已经被移除,符合栈先进后出,后进先出的规则

在实际应用中可以运用在函数调用栈、撤销操作、浏览器的历史记录等

当一起使用 lpush 和 rpop 时其作用相当于队列(先进先出)

举例有个list表,现在往里面插入元素

首先输入lpush a

再输入lpush b

再输入lpush c

此时list表为

(1)"c"

(2)"b"

(3)"a"

使用rpop list 后list为

(1)"c"

(2)"b"

此时可以发现最先插入的元素a被移除,符合队列先进先出规则

在实际应用中可以运用在消息队列,任务调度,排队系统等

结语

首次写博客,如有错误和不足还望指正和多多包含,感谢

好文阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: