redisredis 集群 哨兵模式模式 能实现pub/sub模式么

Redis集群pub/sub模式怎么取消订阅频道_百度知道
Redis集群pub/sub模式怎么取消订阅频道
用JedisPubSub的unsubscribe方法就可以了.关掉线程也是个方法
不过不太好
subscribe是阻塞的 !
采纳率:90%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Hi,亲爱的小伙伴!
欢迎来到php1.cn社区!
Tools Online | 在线开发工具
RankList | 热门文章
扫码关注 PHP1 官方微信号
Recommend | 推荐阅读
PHP1.CN | 中国最专业的PHP中文社区 |
Copyright (C) 1998 - 2020 PHP1.CN. All Rights Reserved
PHP1.CN 第一PHP社区域名与网站(万网)
数加&大数据分析及展现
数加&大数据应用
管理与监控
阿里云办公
培训与认证
数加&人工智能
数加&大数据基础服务
互联网中间件
开发者工具
钉钉智能硬件
云数据库 Redis 版
&&&&&&&&&Redis 集群版-双副本
Redis 集群版-双副本
更新时间: 11:00:06
简介云数据库 Redis 提供双副本集群版实例,轻松突破 Redis 自身单线程瓶颈,可极大满足对于 Redis 大容量或高性能的业务需求。 云数据库 Redis 集群版内置数据分片及读取算法,整体过程对用户透明,免去用户开发及运维 Redis 集群的烦恼。
组件云数据库 Redis 双副本集群版实例由 Proxy 服务器(服务代理)、分片服务器和配置服务器三个组件组成。
Proxy 服务器:
单节点配置,集群版结构中会有多个 Proxy 组成,系统会自动对其实现负载均衡及故障转移。
分片服务器:
每个分片服务器均是双副本高可用架构,主节点故障之后,系统会自动进行主备切换保证服务高可用。
配置服务器:
用于存储集群配置信息及分区策略,目前采用双副本高可用架构,保证高可用。
三个组件的个数和配置,在购买集群版相应规格时由系统固定指定,用户暂时不能灵活选择。规格详情如下:
集群版规格
Proxy 个数
分片服务器个数
单个分片服务器内存大小
16 GB 集群版
32 GB 集群版
64 GB 集群版
128 GB 集群版
256 GB 集群版
Redis 集群版本统一暴露一个访问域名,用户访问该域名进行正常的 Redis 访问及数据操作,proxy 服务器、分片服务器和配置服务器均不提供域名访问,用户不可以直接连接访问对应操作。
集群模式支持新购,以及通过标准版(主从版)直接升级到集群版本。
数据量较大
Redis 集群版可以有效的扩展数据量大小,相比标准版支持存储量更大的64、128、256 GB 集群版,可以有效的满足数据扩展需求。
QPS 压力较大
标准版 Redis 无法支撑较大的 QPS,需要采用多节点的部署方式来冲破 Redis 单线程的性能瓶颈。Redis 集群版提供16、32、64、128、256 GB 五款集群版配置,提供8节点及16节点的部署模式。相对标准版可以将 QPS 提升8倍或16倍。
吞吐密集型应用
相比标准版,Redis 集群版的内网吞吐限制相对较松,针对热点数据读取、大吞吐类型的业务可以友好的支持。
对 Redis 协议不敏感的应用
由于集群版的架构引入了多个组件,在 Redis 协议支持上相比标准版有一定限制。详情请参见。
本文导读目录
以上内容是否对您有帮助?
更新不及时
缺少代码/图片示例
太简单/步骤待完善
更新不及时
缺少代码/图片示例
太简单/步骤待完善
感谢您的打分,是否有意见建议想告诉我们?
感谢您的反馈,反馈我们已经收到
其他。 分片服务器的路由规则以及是否支撑动态扩容均未涉及到
作者回复您好,是支持动态扩容的,您可以在控制台上一键进行变更配置的操作。注意:包年包月实例不支持直接降配,可在续费时候进行降配。分片服务器的路由规则和 redis 官方cluster一样的计算slot的方法。
加载中......Navigation
发布与订阅(pub/sub)
本文档翻译自:
三个命令实现了(Publish/Subscribe messaging paradigm),
在这个实现中,
发送者(发送信息的客户端)不是将信息直接发送给特定的接收者(接收信息的客户端),
而是将信息发送给频道(channel),
然后由频道将信息转发给所有对这个频道感兴趣的订阅者。
发送者无须知道任何关于订阅者的信息,
而订阅者也无须知道是那个客户端给它发送信息,
它只要关注自己感兴趣的频道即可。
对发布者和订阅者进行解构(decoupling),
可以极大地提高系统的扩展性(scalability),
并得到一个更动态的网络拓扑(network topology)。
要订阅频道 foo 和 bar ,
客户端可以使用频道名字作为参数来调用
redis& SUBSCRIBE foo bar
当有客户端发送信息到这些频道时,
Redis 会将传入的信息推送到所有订阅这些频道的客户端里面。
正在订阅频道的客户端不应该发送除
之外的其他命令。
可以用于订阅更多频道,
则可以用于退订已订阅的一个或多个频道。
的执行结果会以信息的形式返回,
客户端可以通过分析所接收信息的第一个元素,
从而判断所收到的内容是一条真正的信息,
命令的操作结果。
信息的格式
频道转发的每条信息都是一条带有三个元素的多条批量回复(multi-bulk reply)。
信息的第一个元素标识了信息的类型:
subscribe :
表示当前客户端成功地订阅了信息第二个元素所指示的频道。
而信息的第三个元素则记录了目前客户端已订阅频道的总数。
unsubscribe :
表示当前客户端成功地退订了信息第二个元素所指示的频道。
信息的第三个元素记录了客户端目前仍在订阅的频道数量。
当客户端订阅的频道数量降为 0 时,
客户端不再订阅任何频道,
它可以像往常一样,
执行任何 Redis 命令。
message :
表示这条信息是由某个客户端执行
命令所发送的,
真正的信息。
信息的第二个元素是信息来源的频道,
而第三个元素则是信息的内容。
举个例子,
如果客户端执行以下命令:
redis& SUBSCRIBE first second
那么它将收到以下回复:
1) &subscribe&
2) &first&
3) (integer) 1
1) &subscribe&
2) &second&
3) (integer) 2
如果在这时,
另一个客户端执行以下
redis& PUBLISH second Hello
那么之前订阅了 second 频道的客户端将收到以下信息:
1) &message&
2) &second&
3) &hello&
当订阅者决定退订所有频道时,
它可以执行一个无参数的
redis& UNSUBSCRIBE
这个命令将接到以下回复:
1) &unsubscribe&
2) &second&
3) (integer) 1
1) &unsubscribe&
2) &first&
3) (integer) 0
Redis 的发布与订阅实现支持模式匹配(pattern matching):
客户端可以订阅一个带 * 号的模式,
如果某个/某些频道的名字和这个模式匹配,
那么当有信息发送给这个/这些频道的时候,
客户端也会收到这个/这些频道的信息。
比如说,执行命令
redis& PSUBSCRIBE news.*
的客户端将收到来自 news.art.figurative 、 news.music.jazz 等频道的信息。
客户端订阅的模式里面可以包含多个 glob 风格的通配符,
比如 * 、 ? 和 [...] ,
redis& PUNSUBSCRIBE news.*
将退订 news.* 模式,
其他已订阅的模式不会被影响。
通过订阅模式接收到的信息,
和通过订阅频道接收到的信息,
这两者的格式不太一样:
通过订阅模式而接收到的信息的类型为 pmessage :
这代表有某个客户端通过
向某个频道发送了信息,
而这个频道刚好匹配了当前客户端所订阅的某个模式。
信息的第二个元素记录了被匹配的模式,
第三个元素记录了被匹配的频道的名字,
最后一个元素则记录了信息的实际内容。
客户端处理
返回值的方式,
和客户端处理
的方式类似:
通过对信息的第一个元素进行分析,
客户端可以判断接收到的信息是一个真正的信息,
命令的返回值。
通过频道和模式接收同一条信息
如果客户端订阅的多个模式匹配了同一个频道,
或者客户端同时订阅了某个频道、以及匹配这个频道的某个模式,
那么它可能会多次接收到同一条信息。
举个例子,
如果客户端执行了以下命令:
SUBSCRIBE foo
PSUBSCRIBE f*
那么当有信息发送到频道 foo 时,
客户端将收到两条信息:
一条来自频道 foo ,信息类型为 message ;
另一条来自模式 f* ,信息类型为 pmessage 。
返回结果的最后一个元素是客户端目前仍在订阅的频道和模式总数。
当客户端退订所有频道和模式,
也即是这个总数值下降为 0 的时候,
客户端将退出订阅与发布状态。
Pieter Noordhuis 提供了一个使用 EventMachine 和 Redis 编写的
这个软件很好地展示了发布与订阅功能的用法。
客户端库实现提示
因为所有接收到的信息都会包含一个信息来源:
当信息来自频道时,来源是某个频道;
当信息来自模式时,来源是某个模式。
客户端可以用一个哈希表,
将特定来源和处理该来源的回调函数关联起来。
当有新信息到达时,
程序就可以根据信息的来源,
在 O(1) 复杂度内,
将信息交给正确的回调函数来处理。
Please enable JavaScript to view the
我们正在寻找赞助商,有意对这个网站进行赞助的朋友请联系
Navigation

我要回帖

更多关于 redis 集群 哨兵模式 的文章

 

随机推荐