我需要设置某种具有搜索功能的电子商店。Memcache db模型使搜索更高效
对于每一个搜索请求,我要查询的结构是这样的:
产品:
-name
标签都有效
--tag
-ingredients
--ingredient
---标签
----标签
---选项
----选项
-----选项的详细信息
-variants
--variant
---标签
----标签
---选项
----选项措施
----价值
---价格
现在想象一下查询的数量......数据库被标准化(我想是第二级)。 在我看来,这里一个明显的解决方案是将每个提取的模型结果集(产品集,成分集,属性集,标签集等)存储在内存中很长一段时间(产品及其属性更新不经常和只有管理员)并从那里进行查询。
那么你怎么看?有没有更好的方法来减少数据库查询计数?
我想过的另一个选择是使用狮身人面像,但我不需要全文搜索,只需要与标签状的字段完全匹配。
预先感谢您!
+1 - 只是我想补充的是,他将要设置适当长的缓存超时。 Django + memcached的摇滚乐,特别是你在缓存中控制粒度的种类繁多。 – 2009-08-10 12:20:08
不能同意更多。我没有超时,因为我认为这是一个给定的:)我更新了我的答案 – AutomatedTester 2009-08-10 12:35:43
最大值是“永远”(意思是,直到'memcache'重新启动),通过设置过期到'0'得到。 – Nate 2009-08-10 13:57:17