【发布时间】:2016-05-08 17:25:11
【问题描述】:
Redis 是内存数据库和消息代理。
就像我们可以在redis中创建多个数据库一样,
所以,明智地,
如何在redis中创建多个(消息代理/消息队列)?
【问题讨论】:
标签: redis
Redis 是内存数据库和消息代理。
就像我们可以在redis中创建多个数据库一样,
所以,明智地,
如何在redis中创建多个(消息代理/消息队列)?
【问题讨论】:
标签: redis
您可以通过拥有多个列表来创建多个队列:
模式:可靠队列 Redis 通常用作消息传递服务器,以实现处理后台作业或其他类型的消息传递任务。一种简单的队列形式通常是在生产者端将值推送到一个列表中,并在消费者端使用 RPOP(使用轮询)等待这个值,或者如果客户端通过阻塞操作更好地服务,则使用 BRPOP。 然而,在这种情况下,获得的队列是不可靠的,因为消息可能会丢失,例如在存在网络问题的情况下,或者如果消费者在收到消息后立即崩溃但仍需处理。 RPOPLPUSH(或阻塞变体的 BRPOPLPUSH)提供了一种避免此问题的方法:消费者获取消息并同时将其推送到处理列表中。处理完消息后,它将使用 LREM 命令从处理列表中删除消息。 额外的客户端可能会监视处理列表中保留时间过长的项目,并在需要时将那些超时的项目再次推送到队列中。
关于:
如何在redis中创建多个(消息代理/消息队列)?
每个列表都是不同的队列。你可以有多个发送者和接收者。 关于经纪人:那就是 Redis。 它还支持pub/sub。
【讨论】: