文档章节

redis 事务及锁应用/发布订阅/

泡海椒
 泡海椒
发布于 2016/04/04 18:06
字数 497
阅读 48
收藏 0

分类: NoSQL

                                    MySQL                    Redis
开启      Start transaction      mutil
语句      普通SQL                  通命令
失败      rollback                   discard
成功      commit                    exec

注:rollback和discard的区别,如果已经成功执行了2条语句,第三条语句出错,rollback后前2条的语句影响消失,而redis中discard只是结束本次事务,前2条语句造成的影响仍然存在。

Redis 发布订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

Redis 客户端可以订阅任意数量的频道。

下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:

pubsub1

当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:

pubsub2


实例

以下实例演示了发布订阅是如何工作的。在我们实例中我们创建了订阅频道名为 redisChat:

redis 127.0.0.1:6379> SUBSCRIBE redisChatReading messages... (press Ctrl-C to quit)1) "subscribe"2) "redisChat"3) (integer) 1

现在,我们先重新开启个 redis 客户端,然后在同一个频道 redisChat 发布两次消息,订阅者就能接收到消息。

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"(integer) 1redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by w3cschool.cc"(integer) 1# 订阅者的客户端会显示如下消息1) "message"2) "redisChat"3) "Redis is a great caching technique"1) "message"2) "redisChat"3) "Learn redis by w3cschool.cc"

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 ...]]
指退订给定的频道。


© 著作权归作者所有

泡海椒
粉丝 11
博文 282
码字总数 288344
作品 0
成都
程序员
私信 提问
7种最常见的Redis使用——PHP实战

  Redis是使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的   一个开源的   API。   大家可以加入我们的交流学习君羊416344370。而...

学编程C语言以及
2018/01/30
0
0
Spring Data Redis 让 NoSQL 快如闪电(2)

【编者按】本文作者为 Xinyu Liu,文章的[第一部分][1]重点概述了 Redis 方方面面的特性。在第二部分,将介绍详细的用例。文章系国内 [ITOM][2] 管理平台 [OneAPM][3] 编译呈现。 把 Redis ...

OneAPM蓝海讯通
2016/06/28
41
0
redis系列--你真的入门了吗?redis4.0入门~

前言 redis作为nosql家族中非常热门的一员,也是被大型互联网公司所青睐,无论你是开发、测试或者运维,学习掌握它总会为你的职业生涯增色添彩。 当然,你或多或少已经了解redis,但是你是否...

W-D
2018/07/24
0
0
神奇的 Redis

Redis按照官方的定义是一个开源的,高级的键值存储。本文就想扩展开介绍,高级和存储两点。 为什么高级,咱们列一下它的基本特性: 每秒10万+的读,8万+的写(是不是有点吹?) 操作原子性(...

红薯
2011/04/03
2.6K
5
Redis之--高级应用

1.安全性 由于redis的运行速度非常快(每秒可以尝试150k数据容量的密码破解),因此,为了提高其安全性,在进入客户端的设置密码是非常有必要的。 具体操作:打开redis.conf文件,ctrl+f查找...

笨小熊
2016/05/18
190
2

没有更多内容

加载失败,请刷新页面

加载更多

面试题:你简历中写到熟悉Spring源码,那你给我说说它用到了那些设计模式?

Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范。好了,话不多说,开始今天的内容。 spring中常用的设计模式达到九种。 模板方法(Template Method)...

我最喜欢三大框架
25分钟前
1
0
Sentinel Dashboard中修改规则同步到Nacos

上一篇我们介绍了如何通过改造Sentinel Dashboard来实现修改规则之后自动同步到Apollo。下面通过这篇,详细介绍当使用Nacos作为配置中心之后,如何实现Sentinel Dashboard中修改规则同步到N...

程序猿DD
32分钟前
4
0
Jenkins发送测试报告邮件

简介:总结怎么使用Jenkins执行自动化测试后发送测试报告邮件 一、系统设置 1、在Jenkins安装Email Extension Plugin插件,如下图: 2、设置Extended E-mail Notification (1)进入“系统管理”...

shzwork
34分钟前
1
0
状态模式

//相当把一个State对象存到Context对象中,然后通过Context实例化对象调用保存的state对象去调用state的相应的方法 https://blog.csdn.net/syc434432458/article/details/51210361...

南桥北木
46分钟前
3
0
基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计

本文首发于:Jenkins 中文社区 使用 JaCoCo 统计功能测试代码覆盖率? 对于 JaCoCo,有所了解但又不是很熟悉。 "有所了解"指的是在 CI 实践中已经使用 JaCoCo 对单元测试代码覆盖率统计: 当...

Jenkins中文社区
53分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部