Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
酥脆的小菠萝
hexbook
提交
c5d69fcc
H
hexbook
项目概览
酥脆的小菠萝
/
hexbook
通知
5
Star
4
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hexbook
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c5d69fcc
编写于
10月 08, 2020
作者:
S
star
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Redis发布订阅
上级
43b89fa7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
97 addition
and
2 deletion
+97
-2
Java语言/Java中间件技术/分布式缓存中间件-Redis.md
Java语言/Java中间件技术/分布式缓存中间件-Redis.md
+97
-2
未找到文件。
Java语言/Java中间件技术/分布式缓存中间件-Redis.md
浏览文件 @
c5d69fcc
...
@@ -18,6 +18,9 @@ Redis 文档:http://www.redis.cn/,https://www.redis.net.cn/
...
@@ -18,6 +18,9 @@ Redis 文档:http://www.redis.cn/,https://www.redis.net.cn/
8.
[
使用 Redis 实现分布式锁
](
#8使用redis实现分布式锁
)
8.
[
使用 Redis 实现分布式锁
](
#8使用redis实现分布式锁
)
9.
[
Redis 配置文件
](
#9redis配置文件
)
9.
[
Redis 配置文件
](
#9redis配置文件
)
10.
[
持久化之 RDB 与 AOF
](
#10持久化之rdb与aof
)
10.
[
持久化之 RDB 与 AOF
](
#10持久化之rdb与aof
)
11.
[
Redis 发布订阅
](
#11redis发布订阅
)
12.
[
Redis 集群与哨兵
](
#12redis集群与哨兵
)
13.
[
Redis 与缓存
](
#13redis与缓存
)
...
@@ -1281,7 +1284,7 @@ redis.conf 默认单位介绍:单位大小写不敏感。
...
@@ -1281,7 +1284,7 @@ redis.conf 默认单位介绍:单位大小写不敏感。
-
***SNAPSHOTTING**
*
:RDB 快照参数设置,详情见第 10 章节:
[
持久化之 RDB 与 AOF
](
#10持久化之rdb与aof
)
。
-
***SNAPSHOTTING**
*
:RDB 快照参数设置,详情见第 10 章节:
[
持久化之 RDB 与 AOF
](
#10持久化之rdb与aof
)
。
-
***REPLICATION**
*
:主从复制相关配置,详情见
[
主从复制
](
主从复制
)
。
-
***REPLICATION**
*
:主从复制相关配置,详情见
第 12 章节:
[
Redis 集群与哨兵
](
#12redis集群与哨兵
)
-
***SECURITY**
*
:安全相关配置。
-
***SECURITY**
*
:安全相关配置。
...
@@ -1377,7 +1380,7 @@ redis.conf 默认单位介绍:单位大小写不敏感。
...
@@ -1377,7 +1380,7 @@ redis.conf 默认单位介绍:单位大小写不敏感。
设置为 0 或负值时,Lua 脚本可以无警告的无限执行。
设置为 0 或负值时,Lua 脚本可以无警告的无限执行。
-
***REDIS CLUSTER**
*
:Redis 集群配置,详情见第 12 章节:
[
aaa
](
#
)
-
***REDIS CLUSTER**
*
:Redis 集群配置,详情见第 12 章节:
[
Redis 集群与哨兵
](
#12redis集群与哨兵
)
14.
***CLUSTER DOCKER/NAT support**
*
:当 Redis cluster 服务经过 NAT 限制或端口被转发时(如 Docker 容器),需要配置集群的节点位置,否则 Redis cluster 地址不能被主机发现。
14.
***CLUSTER DOCKER/NAT support**
*
:当 Redis cluster 服务经过 NAT 限制或端口被转发时(如 Docker 容器),需要配置集群的节点位置,否则 Redis cluster 地址不能被主机发现。
...
@@ -1567,3 +1570,94 @@ RDB 和 AOF 使用建议:
...
@@ -1567,3 +1570,94 @@ RDB 和 AOF 使用建议:
#### 11.Redis发布订阅
#### 11.Redis发布订阅
Redis 发布订阅(pub/sub)是一种消息通信模式:发布者(pub)发送消息,订阅者(sub)接收消息,每一个 Redis 客户端可以订阅任意数量的频道。订阅者订阅一个或多个频道,发布者发送消息到频道,每个该频道的订阅者都会接收到该消息。
发布/订阅相关命令:
-
***SUBCRIBE channel [channel...]**
*
:订阅一个或多个给定的频道。
-
***UNSUBCRIBE channel [channel...]**
*
:退订一个或多个给定的频道。
-
***PUBLISH channel message**
*
:发布消息到频道。
-
***PSUBSCRIBE pattern [pattern ...]**
*
:订阅一个或多个符合给定模式(正则匹配)的频道。
-
***PUNSUBSCRIBE pattern [pattern ...]**
*
:退订一个或多个符合给定模式(正则匹配)的频道。
-
***PUBSUB \<subcommand\> [argument [argument...]]**
*
:发布订阅系统相关命令。
-
*PUBSUB channels*
:查看系统所有的活跃频道。
> 在 shell 的 redis-cli 命令行下,订阅频道后将会一直阻塞在订阅界面等待接收频道发送的消息,所以无法执行退订命令,但是在 Java 代码中可以异步的接收频道消息,同时可以使用退订功能。
测试使用:
-
客户端订阅频道:
~~~
shell
[
root@localhost ~]# redis-cli
--raw
127.0.0.1:6379> SUBSCRIBE china.news.entertainment
subscribe
china.news.entertainment
1
~~~
订阅频道后,客户端将会阻塞在此界面等待接收频道消息。
-
发布消息到频道:
~~~
shell
[
root@localhost ~]# redis-cli
--raw
127.0.0.1:6379> PUBLISH china.news.entertainment
"迪丽热巴摩登写真曝光,复古冷艳风美得让人沉醉"
1
127.0.0.1:6379> PUBLISH china.news.sport
"詹姆斯罕见发怒!夹胳膊爆头!前队友输球输人!"
1
~~~
-
订阅者接收到消息:
~~~
shell
[
root@localhost ~]# redis-cli
--raw
127.0.0.1:6379> SUBSCRIBE china.news.sport china.news.entertainment
subscribe
china.news.sport
1
subscribe
china.news.entertainment
2
message
china.news.entertainment
迪丽热巴摩登写真曝光,复古冷艳风美得让人沉醉
message
china.news.sport
詹姆斯罕见发怒!夹胳膊爆头!前队友输球输人!
~~~
-
查看发布/订阅系统所有的活跃频道:
~~~
shell
127.0.0.1:6379> pubsub channels
china.news.entertainment
china.news.sport
~~~
---
#### 12.Redis集群与哨兵
---
#### 13.Redis与缓存
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录