redis之列表类型(list)——队列和栈简单实现
来源:互联网 发布:海尔网络电视机顶盒 编辑:程序博客网 时间:2024/04/29 22:14
Redis列表是简单的字符串列表,排序插入顺序。您可以在头部或列表的尾部Redis的列表添加元素。
S.N. 命令 & 描述 1BLPOP key1 [key2 ] timeout
取出并获取列表中的第一个元素,或阻塞,直到有可用2BRPOP key1 [key2 ] timeout
取出并获取列表中的最后一个元素,或阻塞,直到有可用3BRPOPLPUSH source destination timeout
从列表中弹出一个值,它推到另一个列表并返回它;或阻塞,直到有可用4LINDEX key index
从一个列表其索引获取对应的元素5LINSERT key BEFORE|AFTER pivot value
在列表中的其他元素之后或之前插入一个元素6LLEN key
获取列表的长度7LPOP key
获取并取出列表中的第一个元素8LPUSH key value1 [value2]
在前面加上一个或多个值的列表9LPUSHX key value
在前面加上一个值列表,仅当列表中存在10LRANGE key start stop
从一个列表获取各种元素11LREM key count value
从列表中删除元素12LSET key index value
在列表中的索引设置一个元素的值13LTRIM key start stop
修剪列表到指定的范围内14RPOP key
取出并获取列表中的最后一个元素15RPOPLPUSH source destination
删除最后一个元素的列表,将其附加到另一个列表并返回它16RPUSH key value1 [value2]
添加一个或多个值到列表17RPUSHX key value
添加一个值列表,仅当列表中存在
列表的最大长度为232 - 1 (每个列表超过4十亿元素4294967295)元素。
首先,插入数据到列表当中:
> lpush my_list1 zhibin(integer) 1> lpush my_list1 biki(integer) 2> rpush my_list1 good(integer) 3#查询队列的长度> llen my_list1(integer) 3插入列表,可以使用lpush和rpush命令,left可以视为表头,right可以视为表尾。
获取列表中的数据:
#按范围取数据> lrange my_list1 0 41) "biki"2) "zhibin"3) "good"#从列表的左面弹出一个元素> lpop my_list1"biki"
如下表所示相关列出了一些基本的命令:
取出并获取列表中的第一个元素,或阻塞,直到有可用2BRPOP key1 [key2 ] timeout
取出并获取列表中的最后一个元素,或阻塞,直到有可用3BRPOPLPUSH source destination timeout
从列表中弹出一个值,它推到另一个列表并返回它;或阻塞,直到有可用4LINDEX key index
从一个列表其索引获取对应的元素5LINSERT key BEFORE|AFTER pivot value
在列表中的其他元素之后或之前插入一个元素6LLEN key
获取列表的长度7LPOP key
获取并取出列表中的第一个元素8LPUSH key value1 [value2]
在前面加上一个或多个值的列表9LPUSHX key value
在前面加上一个值列表,仅当列表中存在10LRANGE key start stop
从一个列表获取各种元素11LREM key count value
从列表中删除元素12LSET key index value
在列表中的索引设置一个元素的值13LTRIM key start stop
修剪列表到指定的范围内14RPOP key
取出并获取列表中的最后一个元素15RPOPLPUSH source destination
删除最后一个元素的列表,将其附加到另一个列表并返回它16RPUSH key value1 [value2]
添加一个或多个值到列表17RPUSHX key value
添加一个值列表,仅当列表中存在
参考连接:(http://www.yiibai.com/redis/redis_lists.html)
可以利用list类型实现的功能:
1.实现先进先出队列(FIFO)以及栈(LIFO)
队列在web应用的范围非常广,比如日志推送、任务处理等等,以往使用httpsqs实现队列,其实,使用redis的list类型,也可以实现队列。
> lpush list a(integer) 1> lpush list b(integer) 2> lpush list c(integer) 3#接下来,使用rpop取出队列> rpop list"a"#思考一下,如果我们使用lpop会出现什么情况呢?> lpop list"c"#结果是最后一个入列的元素"c"出列了,这不就是一个栈的结构么?
0 0
- redis之列表类型(list)——队列和栈简单实现
- Redis之List 列表类型
- redis入门——列表类型(list)
- Redis教程(四) 列表(LIST)类型
- Redis教程(四) 列表(LIST)类型
- golang-redis之list类型简单操作
- Redis命令学习—List(列表)
- Redis的列表类型(List)
- Redis从基础命令到实战之列表类型(List)
- Redis研究(五)—列表类型
- redis之列表类型
- Python学习之路15——列表实现栈和队列
- redis之list类型
- Redis 数据库之列表(list)
- redis实现简单队列
- redis——list类型的设计与实现
- Java Jedis操作Redis示例(二)——list 生产者/消费者模式实现消息队列
- redis-list类型简单操作
- 有关NGUI HUD Text 的使用
- 更换Unity3D加载图标和屏蔽右键方法(4.0版本)
- 稳定排序与不稳定排序方法
- 关于mysql管理事务处理
- PHP HTTP协议
- redis之列表类型(list)——队列和栈简单实现
- 卡牌特效Shader
- Jenkins入门系列之——00答疑解惑
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- SkinnedMeshCombiner
- 【Linux 驱动】Netfilter/iptables (四) 窥探 Netfilter Hook 机制
- Unity3D性能优化专题
- 记录下来慢慢看
- 简单Dream-tnsping 报错TNS-12533: TNS:illegal ADDRESS parameters