Django Channels 消息生命周期

Django Channels message life time

我有一些(可能是大量的)JSON 数据需要推送到 Django 频道。数据所需的生命周期非常短(2-3 秒就足够了)。我使用 Redis 作为后端。

默认消息生命周期是多少? 是否可以指定消息的生命周期?

默认情况下没有生命周期限制,但您可以使用 SETEX 而不是 SET 来设置生命周期:

SETEX mykey 10 "Hello"

或使用带有 EX 标志的 SET:

SET mykey "Hello" EX 10

我找到了一种无需修补 asgi_redis 客户消息过期代码的简单方法来解决我的问题。

我在配置中创建了两个通道层。然后我将所需的短期到期时间设置为第二个通道层。所有短实时消息现在都由该通道层消费者传递和处理。