我有一个项目,看起来像一个销售不同种类产品的简单购物网站。例如,我有4个模型:Brand
,Product
,Consignment
。 Consignment
与Product
相关联,Product
与Brand
相关联。为了减少对数据库的查询计数,我想保存这些模型的当前状态(或至少其中一些模型)。我想这样做,因为我展示了一个带有品牌和产品的侧边栏。因此,每当用户打开某个页面时,它都会执行查询到数据库以获取这些品牌和产品。
但是当admin
添加一些新产品或品牌时,我想处理数据库更改并重新保存它。如何实现呢?
答案 0 :(得分:0)
您的答案是使用缓存。缓存是一种将对象临时存储在内存/其他应用程序(如redis)中的方法,因此您无需向数据库发送查询。您可以阅读完整说明here。
或者,您可以使用此third party library that helps you to cache Django ORM Model.以下是示例。
Brand.objects.filter(name='stackoverlow').cache()
在对模型进行更新后,您需要clear
或invalidate
缓存。
invalidate_model(Brand)