商品屬性儲存假設

2021-07-29 13:39:28 字數 884 閱讀 3965

可能性2採取的方式的確能很好的保證針對每個屬性的篩選都能得到具體的商品,而且針對商品能設定的引數更多,甚至能針對到每個屬性的組合,但是這樣換來的代價就是商品表會變得異常龐大,商品的各個屬性之間會進行笛卡爾積的運算,運算結果就是商品表的條數。

ecshop採取的方式其實是換湯不換藥,將可能性2中的商品表的一些資訊摘取出來,組成乙個張goods表,再來將剩餘的這些資訊儲存到product表中,其實記錄的數量還是一樣的多。

其實我感覺記錄商品的各個屬性下的庫存數量就像一棵樹一樣:

屬性1名稱

屬性2名稱

……屬性n名稱

最終結果

籃球鞋玫瑰紅

……塑膠底

對應的庫存數量或者**

運動紫……

…………

人造革登山鞋

玫瑰紅……

塑膠底……

每次都改變其中乙個屬性的值,剩餘字段不變,這樣就造成了記錄很多。可是其實我們想要的記錄無非值最後的結果,就是最終結果,前面的字段都是指向的路燈,指引我們找到最後的結果。那麼有沒有可能將路燈簡化一點呢?比如說將路燈的轉換成特定的編碼:

最後再加乙個庫存字段或者**字段,就可以通過key-value的模式將資訊儲存起來了。當然這是有代價的,就是這樣就無法使用關係性資料庫中的主外來鍵約束了,而且這欄位本身就是違反正規化的存在。

所以我想試試使用nosql來儲存,mongodb,memcache或者redis,都可以儲存key-value的形式,即使商品數量龐大,也可以使用分片技術。而且由於memcache和redis都是快取型資料庫,讀寫速度也快於mysql,配合上快照和主從資料庫配置,也能保證即使一台伺服器當機之後仍能執行。這樣貌似沒有什麼問題。可能也是我想法太天真了,但是誰一輩子沒傻過啊,所以記錄在這裡,等以後更有能力了再來修改與補充。

商品模組 賣家建立商品,賣家修改商品屬性

賣家建立商品 請參private string userid 賣家userid private string name 商品名稱 private double price 商品 private string ins 商品簡介 private string img 商品 private integer...

open taobao API 讀取商品屬性

匯入topspace.bll.dll 2.複製以下類 client.cs,config.cs 4.新增 topapi.resturl config.serverurl item item new item 定義返回商品物件 parser parser new parser 定 析xml物件 erro...

jquery實現商品sku多屬性選擇(商品詳情頁)

於 商品sku選擇demo3 title head body style type text css ul,li panel goods attr goods attr label goods attr ul goods attr li goods attr li.b goods attr li.b...