検索機能付きの電子ストアを設定する必要があります。検索を効率化するMemcacheデータベースモデル
製品:
-name
- タグ
--tag -ingredients
--ingredient
---タグ私はこのような構造を照会するようになったすべての検索要求に対して
----タグ
---オプション
----オプション
-----オプション詳細
-variants
--variant
---タグ
----タグ
---オプション
----オプションの指標
----値
---価格
ここで、クエリの数を想像してみましょう...データベースは正規化されています(2番目のレベル)。 ここで明らかになった解決策の1つは、取り出した各モデル結果セット(製品セット、成分セット、属性セット、タグセットなど)を非常に長い時間メモリに保存することです(製品とその属性はあまり頻繁ではなく、管理者のみ)、そこからクエリを作成します。
あなたはどう思いますか? dbクエリ数を減らすためのより良い方法はありますか?
私が思った別の選択肢は、スフィンクスを使用することですが、全文検索は必要ありません。タグのようなフィールドと完全に一致するだけです。
ありがとうございます!
1 - 私は追加したいだけの事はあり、彼適切に長いキャッシュタイムアウトを設定します。 Django + memcached rocks、特にキャッシュ上の制御の細かさの多種多様。 –
もっと同意できませんでした。私はそれが与えられたと思ったのでタイムアウトを入れなかった:私は私の答えを更新した – AutomatedTester
最大は「永久」(意味する、 'memcache'が再起動されるまで意味する)。 – Nate