電子商務網站開發之如何緩存系統
對于一個電商系統,緩存是重要組成部分,提升系統性能的主要方式之一就是緩存。它可以擋掉大部分的數據庫訪問的沖擊,如果沒有它,系統很可能會因為數據庫不可用導致整個系統崩潰。
但是緩存帶來了另外一些棘手的問題: 數據的一致性和實時性。
例如,數據庫中的數據狀態已經改變,但是在頁面上看到的仍然是緩存的舊值,直到緩沖時間失效之后,才能重新更新緩存。這個問題怎么解決?
還有就是,緩存數據如果沒有失效的話,是會一直保持在內存中的,所以對服務器的內存也是負擔,那么什么數據可以放緩存,什么數據不可以,這是系統設計之初必須考慮的問題。
什么數據可以放緩存?
1,不需要實時更新但是又極其消耗數據庫的數據。比如網站首頁的商品銷售的排行榜,熱搜商品等等,這些數據基本上都是一天統計一次,用戶不會關注其是否是實時的。
2,需要實時更新,但是數據更新的頻率不高的數據。
3,每次獲取這些數據都經過復雜的處理邏輯,比如生成報表。
什么數據不應該使用緩存?
實際上,在電商系統中,大部分數據都是可以緩存的,不能使用緩存的數據很少。這類數據包括比如涉及到錢、密鑰、業務關鍵性核心數據等。總之,如果你發現,系統里面的大部分數據都不能使用緩存,這說明架構本身出了問題。
如何解決一致性和實時性的問題?
保證一致性和實時性的辦法就是:一旦數據庫更新了,就必須把原來的緩存更新。
說一說我們的緩存方案:
我們目前的緩存系統:Redis(主從)+ RabbitMQ + 緩存清理服務組成,具體如下圖:
緩存清理作業訂閱 RabbitMQ消息隊列,一有數據更新進入隊列,就將數據重新更新到Redis緩存服務器。
當然,有些朋友的方案,是數據庫更新完成之后,立馬去更新相關緩存數據。這樣就不需要MQ 和 緩存清理作業。不過,這同時也增加了系統的耦合性。具體得看自己的業務場景和平臺大小。
<hishop(www.gstsqh.com.cn)是國內知名企業級電商平臺提供商,為企業級商家提供最佳的系統開發(多種模式電商平臺搭建:B2B/B2B2C/B2C/O2O/新零售等)、供應鏈系統搭建及電商行業解決方案服務>
<本文由himall原創,商業轉載請聯系作者獲得授權,非商業轉載請標明:himall原創>
滿足不同行業發展電商的需求,HiMall更有針對性的提供不同行業內的電商解決方案
-
S2B2C解決方案
供銷一體化
多終端銷售
多供應商模式
精細化營銷工具
構建面向行業上、中、下游客戶,提供集交易、倉儲配送、數字化營銷等一站式服務的S2B2B電商平臺 -
分賬解決方案
迎合金融監管要求
規避“二清”結算
節約平臺財務成本
降低平臺招商成本
在合法、合規的前提下,為電商平臺提供資金收付、賬戶管理、資金合規等一體化整體解決方案 -
B2B批發解決方案
多級階梯批發價
布局全渠道批發入口
專屬批發訂貨市場
銀聯B2B大額支付
為企業快速搭建綜合性B2B批發電商平臺,整合線下批發資源,拓展線上批發渠道,實現批發業務24小時在線經營
-
電商怎么運營?如何巧妙地運營好電商網站?
最新消息:電商新時代,你還不知道電商怎么運營就落后了。許多企業商家都建設了屬于自己的電商網站,盈利收入甚微,打擊了不少的...詳情
-
電子商務平臺開發如何進行(方案和模式)
最新消息:隨著電子商務的快速發展,設立電子商務網上商城開發成為許多人進軍互聯網電子商務的重要渠道,現在不管是企業還是個人...詳情
【本站聲明】
1、本網站發布的該篇文章,目的在于分享電商知識及傳遞、交流相關電商信息,以便您學習或了解電商知識,請您不要用于其他用途;
2、該篇文章中所涉及的商標、標識的商品/服務并非來源于本網站,更非本網站提供,與本網站無關,系他人的商品或服務,本網站對于該類商標、標識不擁有任何權利;
3、本網站不對該篇文章中所涉及的商標、標識的商品/服務作任何明示或暗示的保證或擔保;
4、本網站不對文章中所涉及的內容真實性、準確性、可靠性負責,僅系客觀性描述,如您需要了解該類商品/服務詳細的資訊,請您直接與該類商品/服務的提供者聯系。