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进行序列化返回数 ...
随机推荐
- runtime 运行机制2
Mike_zh QQ:82643885 end: blogTitle 博客的标题和副标题 博客园 首页 新随笔 联系 订阅 <a id="MyLinks1_XMLLink" ...
- 文件消息的简单样式demo
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 用Backbone.js创建一个联系人管理系统(三)
原文: Build a Contacts Manager Using Backbone.js: Part 3 欢迎回到这系列的教程,关注使用Backbone.js构建应用程序. 如果你还没看过第一,二 ...
- flex中下拉框的实现
flex中下拉框的实现 <mx:ComboBox id = "combobox" dataProvider = "{deviceCodeType }" e ...
- Enterprise app deployment on iOS 7.1 by github
在iOS7.1以上版本通过Url分发企业应用时,需要采用SSL方式分发plist.如果采用http方式,就会报“无法安装应用程序,因为"example.com"的证书无效.”正确的 ...
- Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题
最近项目中遇到一个问题,用户第一次安装应用在系统的安装器安装完成界面有“完成”和“打开”两个按钮. 当用户点击“打开”按钮进入用户注册页面进行手机号验证码发送和验证码输入等操作界面,若此时用户点击Ho ...
- java JFrame修改左上角的图片
直接案例:
- flask_关注者,联系人和好友
在这节我们实现的功能比较复杂,就是实现用户"关注"和"取消关注"的功能. 一个用户可以关注多个其他的用户,一个用户也可以被其他多个用户所关注,这样看的话,在数据 ...
- vi命令模式下快速注释代码的方法
进入http://www.vim.org/scripts/script.php?script_id=1528 点击这个链接下载comments.vim这个插件 然后把它放入到./vim/plugin下 ...
- 8.3 网络通信 Volley
AsyncHttpClient,它把HTTP所有的通信细节全部封装在了内部,我们只需要简单调用几行代码就可以完成通信操作了. Universal-Image-Loader,它使得在界面上显示网络图片的 ...