php商品列表多屬性篩選不存在變灰

在商城網站系統開發中,商品列表篩選是很重要的。當遇到屬性層級達到10+甚至更多層。比如手錶類的商城網站:

屬性有:品牌,價格,機芯,性別,顏色,材質,直徑。。。等等(假設有500個屬性)。

需要達到的效果:當選擇某1個屬性條件時,顯示出商品列表,並且商品結果中(沒有滿足這些商品的屬性需要變灰或者剔除)

思路:

1. 做緩存,將500個屬性遍歷下,結果數大於3000個的緩存起來屬性數據。(這一步估計只有50個屬性滿足條件)

2. 將上面的50個屬性與其他的250個屬性(肯定小於250個的)相乘篩選(即and條件篩選),再將結果數大於3000的緩存起來。

3. 以此類推將可所有篩選條件緩存起來即可。

當搜索條件滿足以上緩存則輸出,否則直接讀數據庫查詢。

表設計:一個表500個字段(所有屬性作爲列,長度值爲1即可)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章