Django:使用Redis作为缓存的超时的含义



我正在使用 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包并使用默认设置的假设给出的。

假设我将超时设置为 30 秒。这是否意味着在 30 秒后,缓存中的键、值对将被删除,我将不得不将(更新的)值重新馈送到缓存中?

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

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

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

相关内容

  • 没有找到相关文章

最新更新