我在python中有一个方法对我发送的输入做一些处理,并在处理完成后返回一个值。
这种方法需要花费大量时间才能得出结果。所以,我现在正在做的是类似的输入我使用django数据库缓存缓存返回值。它运作良好。
但我需要将数据存储在缓存数据库中以供永久使用。
在Django网站上,提到“没有任何Django缓存后端应该用于永久存储”(https://docs.djangoproject.com/en/1.9/topics/cache/)。
我可以将数据存储在缓存数据库以及常规数据库中。但这将是性能问题。
那么,我应该采取什么方法来解决性能问题。
答案 0 :(得分:1)
只要您没有为缓存条目设置超时,就不应该在没有明确这样做的情况下清除它们。
请注意,默认情况下,缓存有超时300秒,您需要在设置文件中明确将缓存的TIMEOUT
参数设置为None
,例如:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db',
'TIMEOUT': None,
}
}
但是,使用数据库缓存来存储您想要的永久数据似乎是不好的做法(例如,清除整个缓存只需要一个方法调用 - cache.clear()
)。为什么不创建专门用于存储结果的模型?