緩存數(shù)據(jù)庫:服務(wù)器減壓,你不得不知的緩存使用技巧
【小Y提醒】文章部分內(nèi)容來源于網(wǎng)絡(luò),僅供參考!若有服務(wù)器租用/托管相關(guān)問題,請咨詢YINGSOO在線客服!良心推薦、按需選配,更簡單、更高效、更劃算!
【YINGSOO主機(jī)】澳大利亞云服務(wù)器 | 韓國高防服務(wù)器 | 新加坡物理服務(wù)器 | 德國物理服務(wù)器
【推薦閱讀】物理服務(wù)器和云服務(wù)器的區(qū)別是什么?如何區(qū)分 | 俄羅斯服務(wù)器如何挑選?這3點(diǎn)很容易忽視
服務(wù)器減壓,你不得不知的緩存使用技巧
為什么使用緩存
一般情況下,在訪問量達(dá)到一定規(guī)模后,數(shù)據(jù)庫的讀寫會成為一個瓶頸,我們會采用一些手段來對數(shù)據(jù)庫減壓,讓它可以正常的工作??梢钥紤]的手段包括讀寫分離、添加緩存服務(wù)器等,讀寫分離是為了盡量將對數(shù)據(jù)庫的讀寫動作分開,減少互相之間的影響;添加緩存是為了讀庫的時候,減少直接讀取數(shù)據(jù)庫的動作,將查詢的結(jié)果存放在緩存中,用戶的請求被隔絕在數(shù)據(jù)庫以外,從而減少數(shù)據(jù)庫的壓力。
這是一個理想狀況下緩存工作的方式,但僅僅是理想
緩存穿透
所謂緩存穿透,是說用戶請求在緩存系統(tǒng)中查找結(jié)果時候失效,接下來去后端存儲系統(tǒng)中查找數(shù)據(jù),這個時候,如果數(shù)據(jù)不存在,而且這個訪問也比較大的情況下,大量的訪問會直接命中數(shù)據(jù)庫,這時候負(fù)責(zé)存儲的服務(wù)器就悲劇了,所以我們就需要做一些努力,使得當(dāng)數(shù)據(jù)不存在,往緩存中寫入一個標(biāo)志抑或?qū)⒖盏牟樵兘Y(jié)果存入緩存,減少這種無用的請求頻繁命中數(shù)據(jù)庫的情況。
也可以將確認(rèn)為空或者空的查詢結(jié)果存儲到單獨(dú)的緩存區(qū)域中。
緩存雪崩
這是另外一個問題,當(dāng)系統(tǒng)使用的緩存發(fā)生意外(網(wǎng)絡(luò)失敗、宕機(jī)、服務(wù)掛掉、緩存集體丟失等等)之后,緩存集體失效,導(dǎo)致短時間內(nèi)請求都到達(dá)數(shù)據(jù)庫(數(shù)據(jù)存儲層),使得數(shù)據(jù)庫壓力山大進(jìn)而crash掉。
為了預(yù)防這種情況,我們采用一下幾種方式:
1、我們采用多實(shí)例的方式來保證緩存的高可用性,盡量避免當(dāng)個別實(shí)例出現(xiàn)問題之后,引起全局緩存的問題。這類方案很多,比如memcache的一致性ha[服務(wù)器主機(jī)]sh,redis的cluster機(jī)制,來避免單點(diǎn)的故障,這類資料可以搜索一下關(guān)于redis或者memcache的高可用方案。
2、降級機(jī)制。這個方法在很多高可用設(shè)計(jì)中可能也有描述,簡單一點(diǎn)說就是我們將用戶與用戶之間,資源與資源之間進(jìn)行隔離,當(dāng)某一部分?jǐn)?shù)據(jù)產(chǎn)生問題之后或者對某一部分的請求到達(dá)一個閥值之后,根據(jù)預(yù)設(shè)的機(jī)制,對請求只返回?zé)狳c(diǎn)數(shù)據(jù),保證客戶端不會產(chǎn)生天窗或者說一直無法響應(yīng)的問題。
3、加鎖。對于到達(dá)的請求,我們用鎖的機(jī)制,來盡量使它們排隊(duì)處理從而減少對數(shù)據(jù)庫產(chǎn)生并發(fā)??梢詤⒖嫉逆i方案有兩種,一種是使用全局鎖或者字符串鎖等方案,是一個請求進(jìn)行操作的時候,其他的請求處于等待狀態(tài),當(dāng)這個請求處理完畢之后進(jìn)行下一步的業(yè)務(wù)處理,但是這樣的話如果一個請求掛掉,會對后面排隊(duì)的請求產(chǎn)生影響,而且請求的處理可能不會短時間處理完畢,會導(dǎo)致請求阻塞的時間過長等問題,第二種方案就是在進(jìn)行操作的時候,其他請求進(jìn)來的時候判斷是否有鎖存在,如果存在直接跳過處理,返回?zé)狳c(diǎn)數(shù)據(jù)。
需要說的是降級機(jī)制未必要放到圖中這個位置,也可以放在緩存之前或其他的位置,它的主要目的是當(dāng)出現(xiàn)問題時候隔離掉出現(xiàn)問題的資源不影響客戶端的內(nèi)容或者使一部分用戶的請求無法到達(dá)真正的業(yè)務(wù)邏輯從而減少業(yè)務(wù)處理的壓力。
如果親們有服務(wù)器租用或者托管需求隨時聯(lián)系小Y,提供技術(shù)協(xié)助等服務(wù)。
YINGSOO400電話:4006-303-752
如何選擇較為適合的虛擬主機(jī)
虛擬主機(jī)產(chǎn)品多種多樣,哪款產(chǎn)品更適合您呢?針對不同的客戶類型,對于網(wǎng)站的情況和所需要的主機(jī)也不同。如何選擇較為適合的虛擬主機(jī),推薦查看本公司虛擬主機(jī)購買流程信息。
1、您想購買的虛擬主機(jī)類型是什么?
國內(nèi)主機(jī)、免備案主機(jī)(香港主機(jī)、國外主機(jī))
2、供選擇的產(chǎn)品型號較多該如何選擇?
一般會依據(jù)網(wǎng)站類型和使用空間大小情況選擇
如:國內(nèi)虛擬主機(jī)型號
經(jīng)濟(jì)型:適用于個人網(wǎng)站及博客使用,經(jīng)濟(jì)實(shí)惠
網(wǎng)頁空間500M,國內(nèi)五星多線機(jī)房
標(biāo)準(zhǔn)型:適合小型企業(yè)展示站、小型行業(yè)站,性價比高。
網(wǎng)頁空間1000M,國內(nèi)五星多線機(jī)房
企業(yè)型:適合大中型企業(yè)網(wǎng)站、門戶站、集團(tuán)站使用,安全穩(wěn)定
網(wǎng)頁空間300[泰國主機(jī)]0M,國內(nèi)五星多線機(jī)房
3、想使用哪種語言和數(shù)據(jù)庫類型
網(wǎng)站的開發(fā)語言其實(shí)有很多,比較常見的有Asp、PHP。
虛擬主機(jī)型號支持語言類型包括Html、Asp、.NetFramework、PHP等。
目前除了網(wǎng)站使用的語言以外,你還要知道網(wǎng)站打算使用什么類型的數(shù)據(jù)庫,一些開源程序?qū)?shù)據(jù)庫的要求也不一樣。目前不同型號的虛擬主機(jī)支持的數(shù)據(jù)庫類型主要MYSQL、MSSQL、Access,具體類型可以在虛擬主機(jī)參數(shù)頁面看到。
虛擬主機(jī)支持?jǐn)?shù)據(jù)庫類型:MYSQL、MSSQL
4、想選擇使用哪種操作系統(tǒng)
Windows系統(tǒng)、Linux系統(tǒng)
選擇不同的操作系統(tǒng),所支持的程序語言和數(shù)據(jù)庫類型也會有所不同。
熱門搜索:【500M】【宿遷服務(wù)器租用】【臺灣服務(wù)器廠商有哪些】【美國G口服務(wù)器】【550M獨(dú)享帶寬】【傳奇服務(wù)器】【云加速CDN】【防ddosd服務(wù)器】【虛擬服務(wù)器香港免費(fèi)】【租一臺服務(wù)器多少錢】【開區(qū)服務(wù)器】【香港空間】【美國高速穩(wěn)定服務(wù)器該怎么提速】【選擇國外主機(jī)商必須考慮到的好多個難題】【韓國服務(wù)器年付好還是月付好】【如何選擇服務(wù)器】【德國云主機(jī)】【香港站群服務(wù)器價格】【服務(wù)器托管問題】【海外服務(wù)器租用】【日本vps國外服務(wù)器】
境外云服務(wù)器租賃,YINGSOO國外云服務(wù)器套餐,限時特惠,注冊滿減,助力企業(yè)出海,YINGSOO國外云服務(wù)器安全,穩(wěn)定,易用,彈性擴(kuò)展,按需配置,3天免費(fèi)試用,7x24在線支持
YINGSOO日本電影網(wǎng)站云服務(wù)器_低至148元/月_注冊領(lǐng)代金券
YINGSOO日本電影網(wǎng)站云服務(wù)器穩(wěn)定,性價比高,按需配置購買,滿足不同需求免備案,YINGSOO日本電影網(wǎng)站云服務(wù)器高級DDOS防護(hù),專業(yè)數(shù)據(jù)災(zāi)備方案,24小時貼心服務(wù).
http://www.sddonglingsh.com/products/cloud-jp.html
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。