在我的代码的一个地方,我使用 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')