11

我的应用程序中有一个模型,在我的应用程序中使用了很多,一些视图在该表中进行了大约 100 个查询,我已经进行了大量优化以更好地利用这个模型,但其中很大一部分数量是由其他类的 Django init方法引起的,出于个人原因......所以实际上我只是放了一个全局变量来存储该模型的所有对象,所以当我从该模型中创建或删除一个对象时我只需重新加载该列表...但我不想使用 Memcached 或 Redis 之类的缓存机器...我只想将该 QuerySet 结果存储在内存中...而且我仍想在此缓存的 Queryset 中使用管理器。

在此先感谢并为我的英语不好感到抱歉。

4

2 回答 2

12

您可以使用Django 提供的缓存

这个对一个非常相似的问题的回答让你走上了正确的道路。

于 2013-10-11T23:44:21.167 回答
1

我建议实现一个自定义模型管理器和一个查询集。django 缓存后端不必是 memcached 或 redis,它也可以是本地内存,尽管我建议您建立一个真正的缓存后端。为此,我们主要使用https://github.com/jmoiron/johnny-cache ,但发现它与 django > 1.6 不兼容,因此我们切换到https://github.com/vijaykatam/django-cache -经理

于 2015-01-07T20:49:12.200 回答