Redis_03_Redis发布订阅(Pub/Sub)

Posted 毛奇志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis_03_Redis发布订阅(Pub/Sub)相关的知识,希望对你有一定的参考价值。

文章目录

一、前言

本文介绍 Redis 自带的简单的消息队列。

mysql自己有缓存层,但是缓存层实现的不是很好,所以才有了 Redis 这种专门的缓存层;
Redis 自己有简单的消息队列,但是消息队列很简单,所有才有 RabbitMQ RocketMQ Kafka 这种专门的消息队列。

二、发布订阅模式架构

List

发布订阅

三、发布订阅基本命令

3.1 subscribe命令按频道名称订阅频道

先订阅后发布最后解除订阅

# 订阅频道:可以一次订阅多个
subscribe channel-1 channel-2 channel-3
# 向指定频道发布消息:
publish channel-1 2673
# 取消订阅:
unsubscribe channel-1

3.2 psubscribe命令按规则匹配订阅频道

先订阅

消费端1,运动信息:  psubscribe *sport 
消费端2,所有新闻: psubscribe news* 
消费端3,天气新闻: psubscribe news-weather

后发布

生产者,发布3条信息
publish news-sport kobe
publish news-music jaychou
publish news-weather sunny


四、尾声

Redis消息队列/发布订阅存在缺陷,包括:有延迟、没有持久化机制 ,没有专业的消息队列那么好用,所以 一般在程序员开发中不建议使用,这个pub/sub只是redis内部源码中被设计者使用到了,程序员只需要了解一下就好。

以上是关于Redis_03_Redis发布订阅(Pub/Sub)的主要内容,如果未能解决你的问题,请参考以下文章

python:用Redis完成发布和订阅数据

使用redis pub/sub 时间订阅与发布消息

在php中实现Redis的订阅与发布

基于redis(订阅发布)实现python和java进程间通信

redis的订阅和发布

Python redis 发布和订阅