- 如何使用Redis实现异步队列:
rpush + blpop
-
如何实现一次发布,多次消费:
使用Pub/Sub机制,可以实现1:N的消费关系。 -
Redis的Pub/Sub机制有什么缺点:
- 新开启的订阅客户端,无法消费之前已经发布的消息;下线后再次上线的订阅客户端,也无法接收下线期间的消息。究其原因是没有对消息进行持久化。
- Redis如何实现延时队列:
使用zset,拿时间戳作为score,消息内容作为key调用zadd来生产消息,消费者用zrangebyscore指令获取N秒之前的数据轮询进行处理。