私のコードのある場所では、django_redis を使用してキャッシュをロックで更新しています。
from django.core.cache import cache
with cache.lock('hello'):
# do stuff
別の場所では、次を使用してキャッシュがロックされていないかどうかを確認します。
if not cache.get('hello'):
# do other stuff
ただし、ロックが設定されていると、get
呼び出しが失敗し、UnpicklingError: invalid load key, 'f'.
なぜこれが起こっているのですか? 私は何を間違っていますか?
このスニペットを使用して、この動作を再現できます。
from django.core.cache import cache
with cache.lock('hello'):
cache.get('hello')