gpt4 book ai didi

django - 如何在 django-redis 中扩展缓存 ttl(生存时间)?

转载 作者:可可西里 更新时间:2023-11-01 11:00:36 24 4
gpt4 key购买 nike

我正在使用 django 1.5.4 和 django-redis 3.7.1

我想在检索缓存时延长缓存的 ttl(生存时间)

这里是示例代码

from django.core.cache import cache

foo = cache.get("foo)

if not foo:
cache.set("foo", 1, timeout=100)
else:
// Extend Cache's Time-To-Live something like it
cache.ttl("foo") = 200

我试图在 django-redis-docs 搜索此选项,但我找不到它。

但是,我注意到可以在像“Expire foo 100”这样的 redis native 命令中为现有缓存指定生存时间值

我知道再次使用 cache.set 会产生同样的效果,但我想使用具有生存时间属性的更简单的方法。

最佳答案

要延长 django-redis 缓存记录的 ttl(生存时间),请使用 expire(key, timeout)

Django-Redis: Expire & Persist

from django.core.cache import cache

cache.set("foo", 1, timeout=100)
cache.ttl("foo")
>>> 100

如果 key 已经过期,则不能延长 ttl(生存时间)

if cache.ttl("foo") > 0:
cache.expire("foo", timeout=500)

cache.ttl("foo")
>>> 500

关于django - 如何在 django-redis 中扩展缓存 ttl(生存时间)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25463030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com