重用缓存的QuerySet以防止查询数据库

时间:2017-05-16 18:12:15

标签: python django python-2.7 caching

我正在尝试尽可能减少应用中部分数据库点击次数,因为它们会对性能产生负面影响。

我使用QuerySetfilterexclude对象等任何Q操作对给定玩家的一系列匹配进行各种过滤......

player.game_set.filter(Q1)
player.game_set.filter(Q2)
player.game_set.exclude(Q3)

每次执行任何QuerySet个集合时,都会遇到数据库。

我想知道我是否可以执行以下操作:只需点击数据库一次,即可获得玩家游戏的超集:

player.game_set.all()

然后过滤缓存 QuerySet,但仍然使用QuerySetfilterexclude对象等Q操作。这些将作用于缓存的player.game_set.all()而不是每次都击中基地。

可以这样做吗?

0 个答案:

没有答案