redis(二)高级用法
redis(二)高级用法
事务
redis的事务是一组命令的集合。事务同命令一样都是redis的最小执行单元,一个事务中的命令要么执行要么都不执行。
首先需要multi命令来开始事务,用exec命令来执行事务。
127.0.0.1:> multi
OK
127.0.0.1:> hset user: name xiaoming
QUEUED
127.0.0.1:> hset user: name daxiong
QUEUED
127.0.0.1:> exec
) (integer)
) (integer)
127.0.0.1:> hgetall user:
) "name"
) "daxiong"
) "score"
) ""
watch
127.0.0.1:> set key
OK
127.0.0.1:> watch key
OK
127.0.0.1:> set key
OK
127.0.0.1:> multi
OK
127.0.0.1:> set key
QUEUED
127.0.0.1:> exec
(nil)
127.0.0.1:> get key
""
生存时间
expire key seconds
//设置成功返回1,失败返回0
127.0.0.1:> set session:aabb uid1122
OK
127.0.0.1:> expire session:aabb
(integer)
127.0.0.1:> del session:aabb
(integer)
127.0.0.1:> expire session:aabb
(integer) 127.0.0.1:> expire session:aabb
(integer)
127.0.0.1:> ttl session:aabb
(integer)
ttl key
127.0.0.1:> expire session:aabb
(integer)
127.0.0.1:> ttl session:aabb
(integer)
127.0.0.1:> get session:aabb
""
127.0.0.1:> ttl session:aabb
(integer)
127.0.0.1:> persist session:aabb
(integer)
127.0.0.1:> ttl session:aabb
(integer) -
缓存数据
排序
127.0.0.1:> lpush list
(integer)
127.0.0.1:> sort list
) ""
) ""
) ""
) ""
) ""
) ""
) ""
127.0.0.1:> zadd set
(integer)
127.0.0.1:> sort set
) ""
) ""
) ""
) ""
127.0.0.1:> sort set desc
) ""
) ""
) ""
) ""
BY参数
127.0.0.1:> lpush userids
(integer)
127.0.0.1:> set user_score_1
OK
127.0.0.1:> set user_score_2
OK
127.0.0.1:> set user_score_3
OK
127.0.0.1:> sort userids
) ""
) ""
) ""
127.0.0.1:> sort userids by user_score_*
) ""
) ""
) ""
127.0.0.1:> sort userids by user_score_* desc
) ""
) ""
) ""
GET参数
127.0.0.1:> sort userids by user_score_* get user_name_*
) "xiaoming"
) "daxiong"
) "xiaohong"
127.0.0.1:> sort userids by user_score_* desc get user_name_*
) "xiaohong"
) "daxiong"
) "xiaoming"
STORE参数
任务队列
BRPOP key timeout
优先级队列
brpop key [key...] timetout
发布/订阅模式
PUBLISH CHANNEL MESSAGE
SUBSCRIBE CHANNEL MESSAGE
#向channel.test发布消息
127.0.0.1:> publish channel.test hello
(integer) #返回0表明订阅者为0,没有发布消息
127.0.0.1:> publish channel.test hello
(integer) #返回n表明订阅者为n,成功发布给1个消费者
#订阅channel.test消息
127.0.0.1:> subscribe channel.test
Reading messages... (press Ctrl-C to quit)
) "subscribe"
) "channel.test"
) (integer)
#接收到来自channel.test的消息
) "message"
) "channel.test"
) "hello"
管道
节省空间
redis(二)高级用法的更多相关文章
- sqlalchemy(二)高级用法
sqlalchemy(二)高级用法 本文将介绍sqlalchemy的高级用法. 外键以及relationship 首先创建数据库,在这里一个user对应多个address,因此需要在address上增 ...
- 【iOS开发】Alamofire框架的使用二 高级用法
Alamofire是在URLSession和URL加载系统的基础上写的.所以,为了更好地学习这个框架,建议先熟悉下列几个底层网络协议栈: URL Loading System Programming ...
- sqlalchemy(二)高级用法 2
转自:https://www.cnblogs.com/coder2012/p/4746941.html 外键以及relationship 首先创建数据库,在这里一个user对应多个address,因此 ...
- Redis 一些高级用法
延迟消息队列 利用 expire keyspace notification Redis 过期时,会向特定的消息队列发送消息,监听该消息队列 在 redis.conf 修改 notify-keyspa ...
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...
- redis的Linux系统安装与配置、redis的api使用、高级用法之慢查询、pipline事物
今日内容概要 redis 的linux安装和配置 redis 的api使用 高级用法之慢查询 pipline事务 内容详细 1.redis 的linux安装和配置 # redis 版本选择问题 -最新 ...
- SolrNet高级用法(分页、Facet查询、任意分组)
前言 如果你在系统中用到了Solr的话,那么肯定会碰到从Solr中反推数据的需求,基于数据库数据生产索引后,那么Solr索引的数据相对准确,在电商需求中经常会碰到菜单.导航分类(比如电脑.PC的话会有 ...
- 再谈Newtonsoft.Json高级用法
上一篇Newtonsoft.Json高级用法发布以后收到挺多回复的,本篇将分享几点挺有用的知识点和最近项目中用到的一个新点进行说明,做为对上篇文章的补充. 阅读目录 动态改变属性序列化名称 枚举值序列 ...
- Newtonsoft.Json高级用法(转)
手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数 ...
随机推荐
- 第一节(配置springmvc环境)学习尚硅谷-springmvc视频教程
之前,一直从事C#开发.后来,公司调整后领导决定使用java开发,因此需要收集相关学习资料.该视频教程比较入门,也适合自己,于是边看边写的同时再总结一下便于自己牢记,遇到分歧不对之处望指正. 开发环境 ...
- delphi XE5皮肤的使用
做皮肤其实是项浩大的工程,从美工设计.到贴图.到程序设计,都非常的麻烦,如果不是一个非常成熟的产品且有很大的用户群体,并且公司具有相当实力,一般都不会去自己做皮肤,毕竟涉及的东西太多,一旦出现问题 ...
- Unity加载模块深度解析(Shader)
作者:张鑫链接:https://zhuanlan.zhihu.com/p/21949663来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 接上一篇 加载模块深度解析(二 ...
- webform 之LINQde 简单操作
LinQ: LinQ to Sql类它是一个集成化的数据访问类,微软将原本需要我们自己动手去编写的一些代码,集成到了这个类中,会自动生成. 数据库数据访问,能大大减少代码量. 那就是代码量减少 EF框 ...
- JS-随机排序
var arr = [ 1,2,3,4,5,6,7,8 ];arr.sort(function ( a, b ) { return Math.random() - 0.5;});alert( a ...
- Partial backup 备份指定表/库
Partial Backups XtraBackup支持partial backups,这意味着你可以只备份部分表或库.要备份的表必须是独立表空间,即innodb_file_per_table=1 有 ...
- JS-JQuery(JSONP)调用WebService跨域若干技术点
1.JSONP:JSON With Padding,让网页从别的网域获取信息,也就是跨域获取信息,可以当做是一种“工具”,大多数架构Jquery.EXTjs等都支持. 由于同源策略,一般来说位于 se ...
- 用sql语句清除日志
DUMP TRANSACTION [数据库] WITH NO_LOGBACKUP LOG [数据库] WITH NO_LOGDBCC SHRINKDATABASE([数据库])
- <Operating System>进程调度
在多道程序环境下,进程数目往往多于处理机数目,致使它们争用处理机.这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行.分配处理机的任务是由进程调度程序完成的. 三级调度 一个 ...
- vim指令常用
慢慢尝试使用vim,不断学习使用新的快捷键,将常用快捷键但经常容易忘的写下来, 1. 复制黏贴 命令行模式下按住v选中,y表示复制,d表示剪切,p为复制.