【发布时间】:2015-06-04 09:54:03
【问题描述】:
我们如何分配 Redis 队列来并行处理作业?我们可以在一个 Redis 队列中放置不同的队列吗?
我正在制作一个聊天应用程序,我想完全减少延迟时间。如果假设有更多人在同一时间戳发送消息,那么 redis 队列中的消息将会更多。有办法处理吗? 我正在使用 redis 进行内存数据发送。
【问题讨论】:
标签: parallel-processing redis node-redis
我们如何分配 Redis 队列来并行处理作业?我们可以在一个 Redis 队列中放置不同的队列吗?
我正在制作一个聊天应用程序,我想完全减少延迟时间。如果假设有更多人在同一时间戳发送消息,那么 redis 队列中的消息将会更多。有办法处理吗? 我正在使用 redis 进行内存数据发送。
【问题讨论】:
标签: parallel-processing redis node-redis
Redis 是单线程的。因此,不能并行处理任何项目。这并不像一开始听起来那么糟糕,因为 redis 可以非常快速地处理这些小操作(请参阅http://redis.io/topics/benchmarks 了解有关速度的更多详细信息)
有序列表只能处理具有唯一分数的项目。所以使用有序列表可能不是一个好主意。但是你可以使用这样的普通列表:
HMSET 消息1
时间 1234 用户亚当消息嗨接收器夏娃 3. 检索最近的消息密钥 RPOP 聊天队列
【讨论】: