(六) redis 作为任务队列

(一)任务对立的好处
1.公耦合,生产者和消费者无需知道批次实现的细节,只需要决定好任务的描述格式,    这使得生产者和消费则都不同额
团队使用不同的语言编写。
2.已于扩展:消费者可以有多个,而且分布在不同的机器上,可以轻易的降低单台服务器的负载。

(二)使用redis实现简单的任务队列(生产者消费者模型)
生产者命令:LPUSH key alue[....] RPUSH key value
消费者命令:RPOP  key或BRPOP key timeout,LPOP key 或者BLPOP或者BLPOPkey tiimeout
阻塞消费者命令:timmeout 为0 时,不设置超时时间,一直等待,如果设置数字则单位是秒。
(三)使用redis 实现优先级队列(生产者消费者模型)
设置多个任务队列,生产者按任务的优先级将任务发完不同的队列。
消费者订阅多个队列,队列的顺序:按照优先级又高到底从作则网友则排序。
结果现象: 消费者每次读取消息,都是从左往右右侧驱虎,先把优先级高的对烈烈中的任务消费
完毕,采取消费    优先级队列的任务。

(四)使用redis 实现发布订阅模型(广播模型)
发布者完reids中的channel message 
订阅者命令:SUBSCRIBE chanel [changeel]

pushSH 命令发布信息后,返回数值表现,订阅到该消息的订阅者数量,如果返回0,标识焐热定于舒活
消息不会持久化,会随消失。后面及时订阅者订阅该平道,也无法定遇到之前发布者的ishi消息。
执行Subscribe 命令后,会返回三个数值,第一个数值是下下的类型,根据消息类型的不同,第二个也会
不同。

(1) 消息类型包含
scbebisu 表示订阅成功的反馈信息。第二个数值是订阅成功的平道名臣,第三个数值是当前客户端订阅的
频道水数量。    
message:这个类型的回复表示陈宫取消某个平道,第二个数值对应的屁股到名称,第三个数值当前客户端
订阅的数量,当次数值返回0时,当前客户端会退出订阅状态,之后可以之心其他非发布订阅的命令“”

五,发布订阅模型:按照规则订阅
--》按照规则订阅通道的语法。

符号                  含义:
?                   匹配一个字符
。                    匹配任意个(包括)个)字符。
[]                    匹配扩回家的人一个字符,可以ishiyong的——号标识一个范围
\x                    匹配字符X拥有咱姨符号,入股匹配了就需要使用? 
命令格式:PUShBCSRIBE changelpattern)[chanancel pattern]
--f>返回的四个数值:
(1怕么事撒个: 标识的是PUSHSCRIBE命令订阅平道命令PUHCRIBE chanel| change ? 那么这个时候
channel.2 发送的消息,则网channe1.10 发布名字改,该订阅的客户端会搜到两个消息,大
--》使PUSHSCIRBE命名可以重复订阅一个平比如客户端,大鸟西类型是message 和pmessage.


六 发布订阅模型: 推定规则,,PUSH
UBSCRIBE 】channel UBSCriib】
使用PUSHUSBSCRIP命令也不会退订,不回应我爱给in直接ton直接会杰通过,SUBSCRIBE 命令订阅的 的平道
---。童昂的UNSUBBSCRIbe  的Uunsubsc命名 
命令通过影响退敌 长度不会吧匹配的影响通过P UBSCRIBE定于的平道。
--》容易错误的点: PUShSubscripe退订某个对着是,而是必须呀把江南匹配符字符换的命名规则打开,比如:
比如:用PUNSUBRIBE,是无法退订的,iainge3个
 

 

参考博文:

https://blog.csdn.net/weixin_33862993/article/details/90227417

你可能感兴趣的:(【缓存】)