繁体   English   中英

我可以在python Django上使用数据库缓存永久缓存数据吗

[英]Can I cache data permanently using database caching on python Django

我在python中有一个方法,它对我发送的输入进行一些处理,处理完成后它返回一个值。

这种方法要花费大量时间才能得出结果。 因此,我现在正在为类似的输入使用django数据库缓存来缓存返回值。 它运作良好。

但是我需要将数据存储在缓存数据库中以便永久使用。

在Django网站上,提到“不应该将Django缓存后端用于永久存储”( https://docs.djangoproject.com/en/1.9/topics/cache/ )。

我可以将数据存储在缓存数据库以及常规数据库中。 但这将是性能问题。

因此,在没有性能问题的情况下,我应该采用哪种方法来执行此操作。

只要您不为缓存条目设置超时,就不要在未明确指定的情况下清除它们。

请注意,默认情况下,缓存的超时时间为300秒,您需要在设置文件中将缓存的TIMEOUT参数显式设置为None ,例如:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.db',
        'TIMEOUT': None,
    }
}

但是,对于我来说,使用数据库高速缓存存储要永久保存的数据似乎是一种不好的做法(例如,清除整个高速缓存只是一种方法调用cache.clear() )。 您为什么不创建一个专用于存储结果的模型?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM