2017-02-28 4 views
0

私はDjangoチャンネルにプッシュするために必要な(多分巨大な)JSONデータをいくつか持っています。データの所要寿命は非常に短い(2-3秒で十分です)。私はバックエンドとしてRedisを使用します。Django Channelsメッセージの保存期間

デフォルトのメッセージの有効期間は何ですか? メッセージの有効期間を指定することはできますか?デフォルトでは

答えて

0

顧客のメッセージの有効期限をasgi_redisコードで修正することなく、問題を解決する簡単な方法です。

自分の設定で2つのチャンネルレイヤーを作成しました。次に、第2のチャネル層に所望の短期間を設定する。すべての短いライブタイムメッセージは、このチャネルレイヤコンシューマによって受け渡され、処理されます。

1

は寿命に制限はありませんが、あなたはSETEXを使用して代わりのSETで1を設定することができます。

SETEX mykey 10 "Hello" 

をまたはEXフラグでSETを使用して:私が見つけ

SET mykey "Hello" EX 10 
+0

Djangoチャンネルでこれを行うにはどうすればいいですか? – stasdavydov

+0

有効期限を設定しようとしましたか? https://github.com/django/asgi_redis/#expiry –

+0

はい、このオプションはチャンネル内のすべてのメッセージに設定されていますが、一部のメッセージについてのみ有効期限を設定する必要があります。私は、expiryオプションの値が異なる2つのチャネル層を設定することが可能であることを理解しました。 – stasdavydov

関連する問題