我有一些(可能是巨大的)JSON數據,我需要推入Django頻道。數據的壽命非常短(2-3秒就夠了)。我使用Redis作爲後端。Django頻道的留言生活時間
什麼是默認消息生存期? 是否可以指定消息的生命期?
我有一些(可能是巨大的)JSON數據,我需要推入Django頻道。數據的壽命非常短(2-3秒就夠了)。我使用Redis作爲後端。Django頻道的留言生活時間
什麼是默認消息生存期? 是否可以指定消息的生命期?
我發現一個簡單的方法來解決我的問題,而不修補消息客戶到期asgi_redis代碼。
我在我的配置中創建了兩個通道層。然後我爲第二個通道層設置期望的短期失效。現在所有短時間的消息都由該通道層消費者傳遞並處理。
默認有沒有限制的壽命,但你可以通過使用SETEX,而不是SET設置一個:
SETEX mykey 10 "Hello"
,或者使用SET與EX標誌:
SET mykey "Hello" EX 10
如何使用Django頻道做到這一點? – stasdavydov
您是否嘗試過設置過期時間? https://github.com/django/asgi_redis/#expiry –
是的,這個選項是爲通道中的所有消息設置的,但我需要爲部分消息設置過期時間。我知道可以使用不同的期限值設置兩個通道層。 – stasdavydov