gpt4 book ai didi

python - Django:使用Redis做Cache超时的含义

转载 作者:IT王子 更新时间:2023-10-29 06:14:53 26 4
gpt4 key购买 nike

我使用 Django 的内置模块和 Redis 作为缓存服务器。我的问题是关于以下代码中超时的设置:

    cache.set(key,value,timeout)

假设我将超时设置为 30 秒。这是否意味着 30 秒后缓存中的键值对将被删除,我将不得不将(更新的)值重新提供给缓存?像这样:

    if cache.get('key') is None:
cache.set('key','value',30)
else:
return cache.get('key')

或者 30 秒后缓存值仍然存在?

感谢您的帮助!

最佳答案

此答案是基于您正在使用 django-redis 包并使用默认设置的假设给出的。

Say I set the timeout to be 30s. Does it mean that after 30s the key,value pair in the cache will be deleted and I will have to re-feed the (updated) value to the cache?

是的。在指定的超时 30 秒后,键值对将从 Redis 中删除。然后,您将需要再次使用给定的键值对重新填充缓存。

问题中给出的上述设置和获取缓存键的代码是有效的。当 redis 缓存中不存在键时,cache.get('key') 返回的默认值为 None

使用带有超时参数的cache.set()方法,调用redis命令SETEX... http://redis.io/commands/setex

关于python - Django:使用Redis做Cache超时的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27459275/

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