Redis的List操作
lpush key value 作用: 把值插入到链接头部 127.0.0.1:6379> lpush character a (integer) 1 127.0.0.1:6379> rpush character b (integer) 2 127.0.0.1:6379> rpush character c (integer) 3 127.0.0.1:6379> lpush character 0 (integer) 4
lrange key start stop 作用: 返回链表中[start ,stop]中的元素 规律: 左数从0开始,右数从-1开始 127.0.0.1:6379> lrange character 1 2 1) "a" 2) "b" 127.0.0.1:6379> lrange character 1 3 1) "a" 2) "b" 3) "c" 127.0.0.1:6379> lrange character 0 3 1) "0" 2) "a" 3) "b" 4) "c" 127.0.0.1:6379> lrange character 0 -1//所有元素 1) "0" 2) "a" 3) "b" 4) "c"
rpop key 作用: 返回并删除链表尾元素 127.0.0.1:6379> lpop character "0" 127.0.0.1:6379> lrange character 0 -1 1) "a" 2) "b" 3) "c" 127.0.0.1:6379> rpop character "c" 127.0.0.1:6379> lrange character 0 -1 1) "a" 2) "b"
lrem key count value 作用: 从key链表中删除 value值 注: 删除count的绝对值个value后结束 Count>0 从表头删除 Count<0 从表尾删除 127.0.0.1:6379> lpush answer a b c a b d a (integer) 7 127.0.0.1:6379> lrange answer 0 -1 1) "a" 2) "d" 3) "b" 4) "a" 5) "c" 6) "b" 7) "a" 127.0.0.1:6379> lrem answer 1 b (integer) 1 127.0.0.1:6379> lrange answer 0 -1 1) "a" 2) "d" 3) "a" 4) "c" 5) "b" 6) "a" 127.0.0.1:6379> lrem answer -2 a (integer) 2 127.0.0.1:6379> lrange answer 0 -1 1) "a" 2) "d" 3) "c" 4) "b"
ltrim key start stop 作用: 剪切key对应的链接,切[start,stop]一段,并把该段重新赋给key 127.0.0.1:6379> rpush character a b c d e f (integer) 6 127.0.0.1:6379> lrange character 0 -1 1) "a" 2) "b" 3) "c" 4) "d" 5) "e" 6) "f" 127.0.0.1:6379> ltrim character 2 5 OK 127.0.0.1:6379> lrange character 0 -1 1) "c" 2) "d" 3) "e" 4) "f" 127.0.0.1:6379> ltrim character 1 -2 OK 127.0.0.1:6379> lrange character 0 -1 1) "d" 2) "e"
llen key 作用:计算链接表的元素个数 lindex key index 作用: 返回index索引上的值, 127.0.0.1:6379> lrange character 0 -1 1) "d" 2) "e" 127.0.0.1:6379> llen character (integer) 2 127.0.0.1:6379> rpush character a b c (integer) 5 127.0.0.1:6379> llen character (integer) 5 127.0.0.1:6379> lindex character 4 "c" 127.0.0.1:6379> lindex character 0 "d"
linsert key after|before search value 作用: 在key链表中寻找’search’,并在search值之前|之后,.插入value 注: 一旦找到一个search后,命令就结束了,因此不会插入多个value 127.0.0.1:6379> rpush num 1 3 6 8 9 (integer) 5 127.0.0.1:6379> lrange num 0 -1 1) "1" 2) "3" 3) "6" 4) "8" 5) "9" 127.0.0.1:6379> linsert num before 3 2 (integer) 6 127.0.0.1:6379> lrange num 0 -1 1) "1" 2) "2" 3) "3" 4) "6" 5) "8" 6) "9" 127.0.0.1:6379> linsert num after 9 10 (integer) 7 127.0.0.1:6379> lrange num 0 -1 1) "1" 2) "2" 3) "3" 4) "6" 5) "8" 6) "9" 7) "10"
rpoplpush source dest 作用: 把source的尾部拿出,放在dest的头部, 并返回 该单元值 业务逻辑: 1:Rpoplpush task bak 2:接收返回值,并做业务处理 3:如果成功,rpop bak 清除任务. 如不成功,下次从bak表里取任务
127.0.0.1:6379> rpush task a b c d
(integer) 4
127.0.0.1:6379> lrange task 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
127.0.0.1:6379> rpoplpush task job
"d"
127.0.0.1:6379> lrange job 0 -1
1) "d"
127.0.0.1:6379> rpoplpush task job
"c"
127.0.0.1:6379> lrange job 0 -1
1) "c"
2) "d"
127.0.0.1:6379> lrange task 0 -1
1) "a"
2) "b"
brpop ,blpop key timeout 作用:等待弹出key的尾/头元素, Timeout为等待超时时间 如果timeout为0,则一直等待 场景: 长轮询Ajax,在线聊天时,能够用到
Redis的List操作的更多相关文章
- redis的一些操作
public class WnsRedisFactory { private static Cache pool = null; private static JedisConnectionFacto ...
- python之redis和memcache操作
Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...
- redis的hash操作在集中式session中的应用
在集群部署时,为了高可用性的目的,往往把session进行共享,共享分为两种:session复制和集中式管理. redis在session集中式管理中可以起到比较大的作用. 制约session集中式共 ...
- Redis客户端API操作 Jedis详解
redis是一个著名的key-value存储系统,也是nosql中的最常见的一种.其实,个人认为,redis最强大的地方不在于其存储,而在于其强大的缓存作用. 我们可以把它想象成一个巨大的(多借点集群 ...
- Spring Boot 整合 Redis 实现缓存操作
摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 产品没有价值,开发团队再优秀也无济于事 – <启示录> 』 本文提纲 ...
- 缓存数据库-redis数据类型和操作(list)
转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部( ...
- redis键值操作
1.1. redis键值操作 1.1.1. keys patten 查询相应的key 可以精确的查,也可以模糊的查 1.1.1.1. 通配符:* ? [] 在redis里,模糊查询key的时候有3个通 ...
- redis 批量删除操作
redis 批量删除操作 需要在redis里面清空一批数据,redis没有支持通配符删除, 只有del key1 key2 ... 但是可以通配符获取 KEYS PATTERN 然后利用linux管道 ...
- thinkphp5.0上对redis的具体操作
一.环境搭建 首先先安装composer.thinkphp5.0版本.和redis的windows版本的redis程序或者linux版本的redis程序,linux安装教程: https://www. ...
- redis连接数据库进行操作
该项目需要的类目录 1.首先我们需要创建我们的实体类 2.放置我们的dao层,在里面写入方法 3.配置类Appconfig需要加入我们的JdbcTemplate方法,因为我们用的是spring,所以需 ...
随机推荐
- 20145105 《Java程序设计》第2周学习总结
20145105 <Java程序设计>第2周学习总结 教材学习内容总结 第三章主要的学习内容与c语言有很多相似的地方,讲述了Java的基本语法.其中涵盖: 1. 类型: - short整数 ...
- 卷积神经网络CNN介绍:结构框架,源码理解【转】
1. 卷积神经网络结构 卷积神经网络是一个多层的神经网络,每层都是一个变换(映射),常用卷积convention变换和pooling池化变换,每种变换都是对输入数据的一种处理,是输入特征的另一种特征表 ...
- Kibana 修改logo及汉化导航
修改此文件下E:\happy\kinbana\kibana-4.2.2-windows\kibana-4.2.2-windows\optimize\bundles的kibana.bundle.js文件 ...
- 常用EXE文件反编译工具
PE Explorer V1.99 R5 绿色汉化特别版_强大的可视化汉化集成工具 功能极为强大的可视化汉化集成工具,可直接浏览.修改软件资源,包括菜单.对话框.字符串表等: 另外,还具备有 W32D ...
- Oracle创建表时涉及的参数解析
1.oracle pctfree和pctused详解 http://www.cnblogs.com/linjiqin/archive/2012/01/16/2323320.html http:// ...
- 【CentOS】cp显示进度条
问题描述: 使用CentOS的cp时,对于大文件的拷贝或者mv,需要等待很长时间,现在需要显示cp或mv的进度 问题解决: Advanced copy 参考官网:http://beatex.org/w ...
- boost之bind,function,signal总结
boost里的bind,function,signal三个组件都是对用函数做参数(其他算法也用函数做参数),对函数的某一项进行操作. bind主要是对函数参数的作用. function主要是对函数地址 ...
- 【BZOJ】【1041】【HAOI2008】圆周上的点
数学 orz hzwer 完全不会做…… 很纠结啊,如果将来再遇到这种题,还是很难下手啊…… 引用题解: [分析]: 样例图示: 首先,最暴力的算法显而易见:枚举x轴上的每个点,带入圆的方程,检查是否 ...
- 来自平时工作中的css知识的积累---持续补充中
① 现代浏览器中,<img>元素默认情况下底部会有空白,那么这个空白到底是从哪里来的? 解惑: method-one:猛戳 来自知乎的解答 method-two: 延伸阅读 what is ...
- SQL Server中存储过程 比 直接运行SQL语句慢的原因
问题是存储过程的Parameter sniffing 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1. 存储过程只在创造时进行编译即可,以后每次执行存储过 ...