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