我有一个django3.1.3服务器,它通过djangoredis4.12.1使用redis作为缓存。我知道缓存锁通常可以通过以下方式设置:
with cache.lock('my_cache_lock_key'):
# Execute some logic here, such as:
cache.set('some_key', 'Hello world', 3000)
通常,当 with
块完成执行。但是,我的代码中有一些自定义逻辑,有时无法释放缓存锁(这是我自己的原因)。
我的问题是:有没有一种方法可以设置django缓存锁的超时值,就像设置缓存值的超时值一样( cache.set('some_key', 'Hello world', 3000)
)?
1条答案
按热度按时间z0qdvdin1#
我已经回答了我自己的问题。以下参数可用于
cache.lock()
:交叉引用来自python redis源代码的注解,该源代码使用相同的参数:
因此,要设置缓存锁生效的最长时间段(2秒),请执行以下操作: