本篇內(nèi)容介紹了“緩存時有哪些問題”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
我們提供的服務有:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、蘿北ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術(shù)的蘿北網(wǎng)站制作公司
系統(tǒng)先從緩存中獲取數(shù)據(jù),如果成功獲取到數(shù)據(jù),則直接返回數(shù)據(jù);
若沒有獲取到,則從數(shù)據(jù)庫中獲取,從數(shù)據(jù)庫中正常獲取之后,把數(shù)據(jù)更新進緩存中,返回正常數(shù)據(jù);
若從數(shù)據(jù)庫中也沒有獲取到數(shù)據(jù),則返回空數(shù)據(jù)。
原有緩存失效,最新緩存數(shù)據(jù)未進入緩存期間,原本所有從緩存獲取數(shù)據(jù)的請求都去查詢數(shù)據(jù)庫了。
對數(shù)據(jù)庫CPU和內(nèi)存造成巨大壓力,嚴重會造成數(shù)據(jù)庫宕機。
解決方案:
緩存數(shù)據(jù)的過期時間設(shè)置隨機,避免同一時間大量緩存過期。
如果緩存數(shù)據(jù)是分布式部署,則將熱點數(shù)據(jù)均勻分布在不同的緩存數(shù)據(jù)庫中。
設(shè)置熱點數(shù)據(jù)永不過期
指的是用戶所查詢的數(shù)據(jù),數(shù)據(jù)庫中不存在,緩存中也不存在。但是用戶不斷進行查詢,導致數(shù)據(jù)庫壓力過大。
解決方案:
接口層增加校驗,對于查詢數(shù)據(jù)進行基礎(chǔ)校驗,不符合規(guī)則的,直接拒絕。
從緩存取不到的數(shù)據(jù),在數(shù)據(jù)庫中也查不到,則可以將key-value對寫成key-null,緩存起來。
系統(tǒng)上線后,將相關(guān)的緩存數(shù)據(jù)直接加載到緩存系統(tǒng),可以避免在用戶請求的時候,先查詢數(shù)據(jù)庫,然后再將
數(shù)據(jù)緩存的問題。
除了緩存服務器自帶的緩存失效策略之外,我們還可以具體的業(yè)務場景,進行自定義緩存淘汰。
常見的策略如下:
定時清理過期的緩存。
當用戶請求數(shù)據(jù)的時候,判斷這個請求用到的緩存是否過期,過期的話,直接更新緩存。
當訪問量劇增,服務出現(xiàn)問題的時候,或者非核心服務影響到核心流程的性能時,仍然需要保證服務可用,即時是有損服務的。
系統(tǒng)可以根據(jù)一些關(guān)鍵數(shù)據(jù)進行自動降級,也可以配置開關(guān)實現(xiàn)人工降級。
降級的最終目的是保證核心服務可用。
有些服務因為網(wǎng)絡抖動或者服務正在上線而超時,進行降級。
有些服務在一段時間內(nèi)成功率有波動,可以自動降級或者人工降級,發(fā)送系統(tǒng)告警
服務不可用或者服務數(shù)據(jù)混亂,需要緊急人工降級
“緩存時有哪些問題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
標題名稱:緩存時有哪些問題
轉(zhuǎn)載源于:http://sd-ha.com/article2/gpssic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、面包屑導航、動態(tài)網(wǎng)站、云服務器、小程序開發(fā)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)