繁体   English   中英

Redis队列架构

Redis Queue Architecture

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我们如何分配Redis队列以并行执行作业? 我们可以在单个Redis队列中放置不同的队列吗?

我正在制作一个聊天应用程序,我想完全减少延迟时间。 如果假设更多人在同一时间戳下发送消息,那么redis队列中将有更多消息。 有办法解决吗? 我正在使用Redis进行内存中数据发送。

1 个回复

Redis是单线程的。 因此,不能并行处理任何项目。 那并不像刚开始听起来那样糟糕,因为redis可以非常快速地处理这些小操作(有关速度的更多信息,请参见http://redis.io/topics/benchmarks )。

有序列表只能处理具有唯一分数的项目。 因此,使用有序列表可能不是一个好主意。 但是您可以使用如下所示的普通列表:

  1. 存储新消息LPUSH chatquene message1
  2. 存储消息信息

HMSET讯息1

时间1234用户Adam消息嗨,接收者Eve 3.检索最新消息密钥RPOP chatquene

1 Celery 队列和 Redis 队列

我正在查看一些用于为 Django 设置 Redis(消息代理)+ Celery 的教程,但我对队列的工作方式有些困惑。 我遵循的教程是https://hackernoon.com/asynchronous-tasks-with-celery-redis-in-django-3e00d3735686 ...

2 设计Laravel Cache(Redis)架构

我正在为我的api设计一个缓存体系结构,而laravel关系也有问题。 这是我当前的解决方案的工作方式: 我的目标是缓存整个响应,而不是缓存单个模型,因此我将Laravel的命名路由用于缓存名称,并结合实际的url。 例如: http://api.site.com/posts ...

3 实施PHP和Redis队列

我在php pure中有这条路线: http:// localhost:5000 / task.php 每次刷新此页面时,它将记录保存在mysql数据库中。 顺便说一句,我每次运行http:// localhost:5000 / task.php时都需要我的应用程序,它本身会在 ...

4 Redis 队列 - 如何恢复

假设我们有一个要执行的任务列表和一些从该列表中弹出项目的工作程序。 如果工作人员在完成任务执行之前意外崩溃,则该任务将丢失。 什么样的机制可以防止这种情况发生,以便我们重新处理废弃的任务? ...

5 Redis队列顺序错误

我正在使用Redis存储一组有序的项目。 这是一个示例代码: 当我运行制作人时,我得到 当我经营消费者时,我得到了 为什么项的顺序不正确,这不是真正的FIFO。 ...

6 Redis命令队列大小

如何记录/测量Redis命令队列的大小。 Redis是单线程的,因此它按顺序运行命令,因为我猜在那里有命令队列,其中存储传入的命令,并逐个执行。 SLOWLOG命令只显示执行时间,所以问题是,有没有办法在开始执行之前获得命令在队列中的时间。 ...

7 如何扩展Redis队列

我们正从Monolithic转向微服务架构,以用于我们的电子商务市场应用程序。 我们选择Redis pub / sub用于微服务与微服务的通信,以及出于某些推送通知目的。 推送通知策略如下: 每当创建订单时(即客户创建订单),后端都会在相应的渠道(队列)中发布事件,并且特定的推送通知微服务会使用此 ...

8 Redis可靠队列模式

http://redis.io/commands/rpoplpush “ RPOPLPUSH(或对于阻塞变体为BRPOPLPUSH)提供了一种避免此问题的方法:使用者获取消息,同时将其推入处理列表。它将使用LREM命令以从处理中删除消息邮件处理完毕后列出。” 建议使用这种可靠的队列模 ...

10 Redis队列与MSMQ

很长一段时间我们都在使用msmq和redis队列( IRedisList )。 几个月前,我们开始尝试redis pub-sub。 我们的应用程序有20多种服务,可以从队列中读取消息或使用redis订阅频道。 我们还有十多个队列,我们​​向他们发送消息。 该应用程序是多线程的。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM