整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          來說說緩存穿透、緩存擊穿、緩存雪崩都是什么?怎么解決

          來說說緩存穿透、緩存擊穿、緩存雪崩都是什么?怎么解決?

          者:紀莫

          原文鏈接:https://www.cnblogs.com/jimoer/p/13677132.html

          前言

          看到題目就知道了,這又是我在面試中遇到的,最近面試,把我的博文質量感覺都提上來了。面一次試感覺夠我總結一周的,但還是每次都能遇到知識盲點,那以后就當面試總結是個掃盲的過程吧。

          緩存穿透

          面試的時候就被問到了這個問題,具體描述就是,正常的請求都是先請求到緩存(就當我們的緩存是Redis吧),如果緩存中存在數據,就直接返回,如果緩存中不存在請求的數據,就查詢數據庫,然后將查詢到的數據再放到緩存中。

          那么如果現在有一堆的請求,在緩存中沒有,數據庫中也沒有,怎么辦?這種垃圾請求還特別多,而且因為是在數據庫沒有查詢到,所以也不會被放到緩存中,這就是緩存穿透的場景。

          大量的這種請求,最終會導致數據庫壓力劇增,最終就會將數據打垮,若是這個數據庫是核心數據庫,那么其他所有依賴這個庫的接口都會報錯。


          例如,每次請求的參數都是id,而id是我們數據庫里的自增主鍵,但是請求過來的參數要么是-1這種,要么就是特別大的一個數,反正就是不存在的數據。

          解決緩存穿透

          那么如何解決緩存穿透呢?

          • 首先最基本的就是要做參數校驗,非法的參數就直接return,連緩存層都到不了。
          • 當請求的數據在穿過Redis后,數據庫也返回空,這樣的數據也可以存入到緩存中,然后過期時間可以設置一個比較短的時間,這樣能夠在一定程度上保障后端數據庫的安全。
          • 可以使用Redis的布隆過濾器,這個工具可以有效的防止緩存穿透的發生,我們可以將一個參數是否存在保存為一個boolean值,然后需要一個bit就可以存儲,這樣的數據壓縮到一個數據結構中,就是布隆過濾器的原理。即節省存儲空間,又能達到效果。

          緩存擊穿

          我們在Redis存儲的數據,主要是緩存的效果,目的是為了解決DB的壓力,所以一些熱點數據,都是先從緩存中獲取的,當緩存中不存在的時候再從DB中獲取然后再存入緩存。

          但是如果一個高頻的熱點數據,在失效的一瞬間,它的大量請求就會直接打到DB上,這樣在DB還沒有返回數據給Redis的時候,DB承受了熱點請求的壓力,就好像緩存是一個水桶,然后突然水桶破了一個洞,直接沖垮了后面的堤壩(DB)。

          解決緩存擊穿

          造成緩存擊穿的原因是,在同一時刻從數據庫中獲取了大量數據,并且設置了相同的過期時間,這些緩存就會在同一時刻失效,這樣就造成了緩存擊穿的問題。
          解決方案

          • 一些熱點的數據,我們可以設置永不過期;或者是在訪問數據的時候延長過期時間
          • 也可以用分布式鎖,來鎖住數據,保證同一時間只有一個線程能夠獲取數據,其他請求獲取不到數據,只能等待,但是在高并發的場景下,這種方案,體驗不太好,并且分布式鎖的壓力也會特別大

          緩存雪崩

          Redis中存儲了很多的數據,但是有時候這些數據會出現,在同一個時刻批量過期的情況,因為有可能這些數據是批量插入的,所以他們的過期時間就會都在同一個時間。

          正好在這個批量數據過期的時間點,大量的請求過來了,因為緩存數據過期了,所以沒有命中緩存,直接請求到了數據庫中。數據庫的壓力突然劇增,甚至有可能直接撐不住掛掉。然后有可能DBA會緊急重啟DB,但是剛一恢復,新的請求立馬又把DB打垮了。

          也有可能就是Redis掛了,緩存都不能用了,請求也是直接打到了DB上,然后DB也是扛不住壓力,直接掛掉。再恢復,再掛掉。


          Redis中同一時刻大量的Key過期,那一瞬間和Redis不存在一樣,還有Redis真的掛了的情況,這對服務和DB來說是災難性的問題。

          解決緩存雪崩

          解決方案

          • 批量存入緩存的數據,我們可以為這些數據分別配置比較合理的過期時間,即使是隨機分配過期時間也可以,避免同一時間失效。
          • 熱點數據永不過期,更新操作時直接更新緩存,但是并不設置過期時間。
          • 當數據庫緩存出問題時,可以采用降級措施,雖然是用DB頂上了請求,但是可以通過降級方案,保證某些數據在同一時刻只能有一個線程在查詢數據庫和寫緩存,這樣不至于把數據庫給搞崩了。
          • 還有就是為了防止Redis掛了,導致的緩存雪崩,可以保證Redis的高可用,就是將Redis集群部署,然后將熱點數據都分配到不同的節點上,這樣就可以有效的防止雪崩的出現。

          當說到Redis高可用的時候,面試有可能會繼續問,怎么保證Redis在高可用的情況下,也就是集群中的數據同步時,而數據不會丟失等情況。

          務院此前建議延長 3 天春節假期,意味著我們還有 3 天的時間就要開工。目前武漢肺炎依舊屬于高發的態勢,作為打工仔的我們,又該如何選擇合適的口罩來應對這場疫情?



          面對來勢洶洶的病毒,口罩是我們抵抗病毒的第一道防線。口罩可分為四大類,棉布口罩,活性炭口罩,醫用口罩以及 N95 口罩。其中棉布口罩主要用作擋風和灰塵,活性炭口罩則是吸附臭味和有機氣體。想要抵擋病毒和細菌的侵襲,醫用口罩和 N95 口罩會更為適合。哪個更優?



          ▍口罩的結構

          我們先來看看口罩的結構,一般醫用口罩分作三層,最外層也即是有顏色的一面,是防水層,可以阻擋飛沫;中間一層為熔噴材料,可以過濾以及吸附含有細菌或者病毒的飛沫;最內一層則是吸水層,可以吸收佩戴者本人的濕氣和水分。



          ▍口罩的過濾性能

          通常要想評估一個口罩的過濾性能,常看以下 5 點,部分口罩包裝上也會有這些參數的標識。


          1、細菌過濾效率(Bacterial Filtration Efficiency, BFE)

          2、顆粒過濾效率 (Submicron Particulate Filtration Efficiency , PFE)

          3、病毒過濾效率(Viral Filtration Efficiency,VFE)

          4、壓力差(Delta-P/ Differential Pressure)

          5、防液體能力(Fluid Resistance)



          BFE 代表細菌過濾效率,評價口罩由內部過濾微生物顆粒的能力,測試方法是以約 3.0 μm(微米)的微粒及 28.3 lpm(公升 / 分鐘)流速來進行。PFE 是顆粒過濾效率,考察口罩阻隔細微顆粒的能力,一般實驗室會利用 0.1-1 μm 的微粒及 28.3 lpm(公升 / 分鐘)流速來進行。VFE 則代表病毒過濾效率,表示口罩對病毒的阻擋能力,通常采用平均 3.0 μm(微米)的微粒及 28.3 lpm(公升 / 分鐘)流速來進行。壓力差代表佩戴口罩后內外壓力的差別,一般壓力差越高,密封性越好,相應的透氣性越低。合成血液穿透阻力代表口罩對于防水以及血液和體液飛濺的應對能力。


          ▍口罩的標準

          我國食藥監局對口罩產品作出了規范,根據不同的應用場景,可分為普通醫用口罩,醫用外科口罩,呼吸防護口罩和醫用防護口罩。



          這里補一句,有部分口罩的標準號可能是 YZB 為前綴,這個是醫療器械注冊產品標準,可以前往國家藥品監督管理局的官網,查詢這個口罩的注冊編號,里面會顯示對應的口罩類型。



          那么對于大多數的普通人,我們應該選擇哪一標準的口罩?首先,病毒一般不會獨立在空氣中漂浮,它需要依附在載體上,通常是人打噴嚏后形成的飛沫,一般這類飛沫直徑是 0.1-2 毫米,飛沫也會通過蒸發變成飛沫核,飛沫核是小的干燥顆粒,直徑小于 100 微米,多數飛沫核直徑在 1μm 以上,可以長時間在空氣漂浮。由標準來看,醫用外科口罩就可以阻擋多數帶有病原體的飛沫,不過,醫用外科口罩密封性并不夠,在密閉環境中,有機會吸入空氣中帶有病毒的飛沫核。這時候,我們更建議購入密閉性能更好的 N95 口罩。



          ▍什么是 N95 口罩?

          N95 口罩一種通過 FDA(美國食藥監局)檢驗,同時經過 NIOSH(美國國家職業安全衛生研究所)認證的口罩,國內對應的型號是 KN95,歐洲則是 FFP2。


          N 代表非抗油(not resistant to oil),代表口罩不能阻隔油性粒子,除了 N 以外,還有 R(resistant to oil),P(oil proof)系列,其中 R 和 P 代表可以使用在油氣環境,一般生物性微粒不屬于油性顆粒,R 級和 P 級的口罩目前并沒有太大必要入手。至于后面的數字 95,代表可以阻擋 95% 直徑 0.3 微米以上的非油性顆粒,性能更好的還有 99 與 100,不過透氣性能隨之下降。



          相比醫用外科口罩來說,N95 提供到了更好的密閉性,正確佩戴時可以完全覆蓋鼻和口部,同時它也可以給到至少 95% 的顆粒過濾能力。N95 口罩密閉性能良好,呼吸時氣流不會從口罩兩邊的縫隙流入流出,可最大程度發揮阻隔病菌的效果。不過,密閉性能越好,口罩的 Delta P 值越高,也就代表它越不透氣。有不少人就因為 N95 口罩悶得難受,不時拉開口罩透氣,這就無意中增加了病菌侵入的概率,如果并非病毒攜帶者,可以購買帶有呼吸閥的 N95 口罩。假若 N95 沒貨,我國還額外有 KN90 標準的口罩,也可以考慮。



          那么我們有沒有必要購入滿足 GB19083-2010 標準,也即是醫用級別的 KN95 口罩呢?該標準相比非醫用的標準,主要增加了一項阻止血液和體液滲透的能力,對于一般人來說,如果不是在醫院環境下,基本不會面對這樣的狀況,我們建議還是留給真正需要的前線醫護人員。



          口罩固然十分重要,我們更需要在日常生活中注意個人衛生,勤洗手,不去人群聚集的地方,不進食野味和未經煮熟的動物產品。如果發現自己有持續發燒,胸悶或者是干咳的情況,為了自己和身邊人的健康,請盡早去醫院尋求醫生的意見。


          參考資料

          1. 中華人民共和國醫藥行業標準 YY 0469-2011 / YY0969-2013 / GB2626-2006 / GB19083-2010
          2. Nelsonlabs 測試機構 https://www.nelsonlabs.com/testing/surgical-face-masks-and-general-use-masks-astm-f2100/
          3. 美國國家職業安全衛生研究所(NIOSH) https://www.cdc.gov/niosh/npptl/topics/respirators/disp_part/respsource3healthcare.html#e

          倦了網易版我的世界MOD少得可憐,但是離開了網易平臺聯機又顯得異常困難?今天我教大家一種不需要正版我的世界賬號又可以聯機的方法。咱話不多說直接上教程。

          步驟一,下載必備MOD。

          [1.16.2-1.12.2][自定義局域網服務器-LanServerProperties]自定義端口+關正版驗證

          https://www.mcbbs.net/thread-1056335-1-1.html

          (出處: Minecraft(我的世界)中文論壇)
          打開上述鏈接


          點擊下載地址

          步驟二,把下載好的MOD放進我的世界mods文件夾

          步驟三,打開我的世界進入地圖打開選項

          點擊對局域網開放


          注意在線模式要關掉,監聽端口可自己修改

          點擊創建一個局域網世界,就會如下圖所示。

          之后你的小伙伴便能在多人游戲中搜索到你的房間了。

          如果搜索不到就點擊添加服務器,輸入創建游戲房間電腦的 IP地址:監聽端口 IP可以用百度搜索“本機IP地址”獲得

          如果不知道怎么下載非網易版《我的世界》,那就點個關注。我會盡快更新下一期。

          最后祝你和小伙伴玩得開心。


          主站蜘蛛池模板: 国内偷窥一区二区三区视频| 亚洲色精品VR一区区三区 | 中文字幕在线一区二区在线| 国产伦精品一区二区三区免费下载| 亚洲片一区二区三区| 午夜DV内射一区区| 国模精品一区二区三区视频| 亚洲一区中文字幕在线观看| 伊人色综合一区二区三区| 中文字幕色AV一区二区三区| 国产AⅤ精品一区二区三区久久| 国产第一区二区三区在线观看 | 日本人真淫视频一区二区三区 | 久久免费视频一区| 久久精品一区二区| 成人免费观看一区二区| 国产香蕉一区二区三区在线视频 | 亚洲国产福利精品一区二区| 一区二区视频在线观看| 亚洲无圣光一区二区| 国内精品视频一区二区三区八戒| 精品一区二区三区视频在线观看 | 国产在线一区二区综合免费视频| 亚洲午夜福利AV一区二区无码| 国99精品无码一区二区三区| 搡老熟女老女人一区二区| 国产成人精品一区二三区熟女| 视频一区在线播放| 亚洲熟妇av一区二区三区| 午夜性色一区二区三区免费不卡视频 | 秋霞日韩一区二区三区在线观看 | jizz免费一区二区三区| 无码人妻精品一区二区三区东京热| 国产欧美一区二区精品仙草咪| 精品无码人妻一区二区三区不卡| 免费日本一区二区| 亚洲一区二区精品视频| 国产欧美一区二区精品仙草咪| 99精品久久精品一区二区| 日韩精品午夜视频一区二区三区| 日韩人妻无码一区二区三区久久99|