Django根据请求进行记忆

时间:2018-09-13 11:29:14

标签: django django-rest-framework memoization

我有一个django rest应用程序,其中有一个函数可以使用某些外部数据(来自其他服务)来计算某些内容,如果不需要,我想避免加载。此数据定期更改,但对于一个请求而言是相同的。因此,我要在一个请求的持续时间内缓存此函数的结果(因为在一个请求中多次调用该函数的结果)。我遇到过https://github.com/tvavrys/django-memoize/库,该库可缓存函数结果,但我只能指定时间,而不能指定上下文,否则缓存应在此之后失效。

我发现合理的一种可能性是以某种方式注册一个钩子,该钩子会在每次请求后使用delete_memoized清除缓存,但是我还没有找到注册这种钩子的方法。

因此,我的问题是:是否可能

  • 呈现响应后执行一些代码(→清除缓存),或者
  • 告诉django为一个请求恰好缓存一个函数结果(是否使用其他库?)

0 个答案:

没有答案