redis学习教程三《发送订阅、事务、连接》
redis学习教程三《发送订阅、事务、连接》
Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 发布订阅(pub/sub)实现了消
息系统,发送者(在redis术语中称为发布者)在接收者(订阅者)接收消息时发送消息。传送消息的链路称为信道。
示例
以下示例说明了发布用户概念的工作原理。 在以下示例中,一个客户端订阅名为“redisChat”的信道。
1 redis 127.0.0.1:6379> SUBSCRIBE redisChat
2 Reading messages... (press Ctrl-C to quit)
3 1) "subscribe"
4 2) "redisChat"
5 3) (integer) 1
6 //Shell
现在,两个客户端在名称为“redisChat”的相同信道上发布消息,并且上述订阅的客户端接收消息。
redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"
(integer) 1
redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by yiibai"
(integer) 1
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by yiibai"
//Shell
Redis发布订阅命令
下表列出了与Redis发布订阅相关的一些基本命令。
| 序号 | 命令 | 说明 |
|---|---|---|
| 1 | PSUBSCRIBE pattern [pattern …] | 订阅一个或多个符合给定模式的频道。 |
| 2 | PUBSUB subcommand [argument [argument …]] | 查看订阅与发布系统状态。 |
| 3 | PUBLISH channel message | 将信息发送到指定的频道。 |
| 4 | PUNSUBSCRIBE [pattern [pattern …]] | 退订所有给定模式的频道。 |
| 5 | SUBSCRIBE channel [channel …] | 订阅给定的一个或多个频道的信息。 |
| 6 | UNSUBSCRIBE [channel [channel …]] | 退订给定的频道。 |
二:事务
Redis事务允许在单个步骤中执行一组命令。以下是事务的两个属性:
- 事务中的所有命令作为单个隔离操作并按顺序执行。不可以在执行Redis事务的中间向另一个客户端发出的请求。
- Redis事务也是原子的。原子意味着要么处理所有命令,要么都不处理。
语法示例
Redis事务由命令MULTI命令启动,然后需要传递一个应该在事务中执行的命令列表,然后整个事务由EXEC命令执行。
示例
以下示例说明了如何启动和执行Redis事务。
1 redis 127.0.0.1:6379> MULTI
2
3 OK
4 redis 127.0.0.1:6379> SET mykey "redis"
5 QUEUED
6 redis 127.0.0.1:6379> GET mykey
7 QUEUED
8 redis 127.0.0.1:6379> INCR visitors
9 QUEUED
10 redis 127.0.0.1:6379> EXEC
11 1) OK
12 2) "redis"
13 3) (integer) 1
14 //Shell
Redis事务命令
下表列出了与Redis事务相关的一些基本命令。
| 序号 | 命令 | 说明 |
|---|---|---|
| 1 | DISCARD | 丢弃在MULTI之后发出的所有命令 |
| 2 | EXEC | 执行MULTI后发出的所有命令 |
| 3 | MULTI | 标记事务块的开始 |
| 4 | UNWATCH | 取消 WATCH 命令对所有 key 的监视。 |
| 5 | WATCH key [key …] | 监视给定的键以确定MULTI / EXEC块的执行 |
三:Redis连接
Redis中的连接命令基本上是用于管理与Redis服务器的客户端连接。
示例
以下示例说明客户端如何向Redis服务器验证自身,并检查服务器是否正在运行。
1 redis 127.0.0.1:6379> AUTH "password"
2 OK
3 redis 127.0.0.1:6379> PING
4 PONG
5 //Shell
Redis连接命令
下表列出了与Redis连接相关的一些基本命令。
| 序号 | 命令 | 说明 |
|---|---|---|
| 1 | AUTH password | 使用给定的密码验证服务器 |
| 2 | ECHO message | 打印给定的字符串信息 |
| 3 | PING | 检查服务器是否正在运行 |
| 4 | QUIT | 关闭当前连接 |
| 5 | SELECT index | 更改当前连接的所选数据库 |
redis学习教程三《发送订阅、事务、连接》的更多相关文章
- redis学习教程五《管道、分区》
redis学习教程五<管道.分区> 一:管道 Redis是一个TCP服务器,支持请求/响应协议. 在Redis中,请求通过以下步骤完成: 客户端向服务器发送查询,并从套接字读取,通常以阻 ...
- redis学习教程四《管理、备份、客户端连接》
redis学习教程四<管理.备份.客户端连接> 一:Redis服务器命令 Redis服务器命令 下表列出了与Redis服务器相关的一些基本命令. 序号 命令 说明 1 BGREWRITE ...
- redis学习教程二《四大数据类型》
redis学习教程二<四大数据类型> 四大数据类型包括:字符串 哈希 列表 集合一 : Redis字符串 Redis字符串命令用于管理Redis中的字符串 ...
- C# Redis学习系列三:Redis配置主从
Redis配置主从 主IP :端口 192.168.0.103 6666 从IP:端口 192.168.0.108 3333 配置从库 (1)安装服务: redis-server ...
- TimesTen学习(三)安装、连接、远程连接TimesTen数据库
TimesTen学习(三)远程连接TimesTen数据库 <TimesTen学习(一)安装篇>:http://blog.itpub.net/23135684/viewspace-71774 ...
- redis学习(三)
一.Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 二.Redis 命令 1 ...
- 分布式缓存技术redis学习(三)——redis高级应用(主从、事务与锁、持久化)
上文<详细讲解redis数据结构(内存模型)以及常用命令>介绍了redis的数据类型以及常用命令,本文我们来学习下redis的一些高级特性.目录如下: 安全性设置 设置客户端操作秘密 客户 ...
- Linux+Redis实战教程_day02_消息订阅与发布_多数据库_redis批量操作-事务_redis持久化
5.扩展知识-消息订阅与发布(了解) 订阅新闻,新闻发布 subscribe channel:订阅频道,例:subscribe mychat,订阅mychat这个频道 psubscribe chann ...
- Redis学习笔记三:多机数据库的实现
1.复制 执行slaveof命令或者设置slaveof选项,让一个服务器去复制另外一个服务器. 旧版复制功能的实现(Redis 2.8 之前的版本) 复制功能分为同步和命令传播两个操作. 同步(syn ...
随机推荐
- win8.1下jdk的安装和环境变量的配置 eclipse的安装和汉化
1.首先下载jdk安装包,安装的时候会有两个文件安装,一个是jdk一个是jre建议两个文件不要安装在一个目录下 2.安装jdk后面就是配置环境变量,path和classpath,path要在用户变量中 ...
- Kubernetes官方java客户端之三:外部应用
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Linux服务器以及系统性能排查常用命令
一.在Linux系统中排查CPU故障的方法和技巧 1.top命令 Linux内部命令,可以查看实时的CPU的使用情况,也可以查看CPU最近一段时间CPU的使用情况 Linux下常用的性能分析工具,能够 ...
- 如何不使用 overflow: hidden 实现 overflow: hidden
一个很有意思的题目.如何不使用 overflow: hidden 实现 overflow: hidden? CSS 中 overflow 定义当一个元素的内容太大而无法适应块级格式化上下文时候该做什么 ...
- R语言学习笔记-Corrplot相关性分析
示例图像 首先安装需要的包 install.packages("Corrplot") #安装Corrplot install.packages("RColorBrewer ...
- mysql 应用 持续更新
1.安装方法 贴出,my.ini # MySQL Server Instance Configuration File # -------------------------------------- ...
- 笔记:学习go语言的网络基础库,并尝试搭一个简易Web框架
在日常的 web 开发中,后端人员常基于现有的 web 框架进行开发.但单纯会用框架总感觉不太踏实,所以有空的时候还是看看这些框架是怎么实现的会比较好,万一要排查问题也快一些. 最近在学习 go 语言 ...
- 工具用的好,下班回家早!5分钟玩转iTerm2!
同时打开多个终端窗口,来回切换太麻烦! 能不能像IDEA一样,能够查看历史粘贴记录? 有没有办法一键登陆服务器? 工欲善其事,必先利其器!无论工作还是学习,选择好用的工具真的太重要了.今天就给大家介绍 ...
- 【Redis3.0.x】实战案例
Redis3.0.x 实战案例 简介 <Redis实战>的学习笔记和总结. 书籍链接 初识 Redis Redis 简介 Redis 是一个速度非常快的键值对存储数据库,它可以存储键和五种 ...
- python作业完成简单的文件操作
题目 请创建以学号命名的目录,在该目录中创建名称为file1.txt的文件,并将自己的个人信息(序号.姓名以及班级)等写入该文件:然后并读取文件中的内容到屏幕上:接着重新命名该文件为file2.txt ...