redis系列html
redis的发布订阅功能java
redis消息队列web
redis的pipelineredis
redis的scan操做segmentfault
本文主要简述redis做为消息队列的利弊和场景。分布式
传送模型(发布订阅or点对点
)
是基于topic的发布订阅仍是点对点模型.net
接收模型(推or拉
)
消息是由生产者推仍是由消费者拉code
at-most-once(消息丢失
)
消息被投递0或者1次,消息可能被丢失htm
at-least-once(消息重复
)
消息可能被投递屡次,直到收到ack,会形成消息重复。像rabbitmq开启消息持久化及ack机制,能够保证此投递策略,确保消息投递成功,但可能形成消息重复。中间件
exactly-once(消息仅且投递一次
)
消息经过事务等机制保证对方能成功接收,并且不会重复接收
消费者是否能够接收离线时的消息
消息是否支持优先级
消息是否能够重复消费
传送模型 | 接收模型 | 投递模型 | 持久化 | 优先级 | 回溯 |
---|---|---|---|---|---|
发布订阅 | 推 | at-most-once | 否 | 须要本身支持 | 否 |
点对点模式须要本身经过list的lpush和brpop来模拟实现。
优先级队列能够用zset来实现