我可以使用python Django上的数据库缓存永久地缓存数据

时间:2016-01-11 12:23:18

标签: python django caching

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

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

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

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

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

那么,我应该采取什么方法来解决性能问题。

1 个答案:

答案 0 :(得分:1)

只要您没有为缓存条目设置超时,就不应该在没有明确这样做的情况下清除它们。

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

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

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