者:紀莫
原文鏈接:https://www.cnblogs.com/jimoer/p/13677132.html
看到題目就知道了,這又是我在面試中遇到的,最近面試,把我的博文質量感覺都提上來了。面一次試感覺夠我總結一周的,但還是每次都能遇到知識盲點,那以后就當面試總結是個掃盲的過程吧。
面試的時候就被問到了這個問題,具體描述就是,正常的請求都是先請求到緩存(就當我們的緩存是Redis吧),如果緩存中存在數據,就直接返回,如果緩存中不存在請求的數據,就查詢數據庫,然后將查詢到的數據再放到緩存中。
那么如果現在有一堆的請求,在緩存中沒有,數據庫中也沒有,怎么辦?這種垃圾請求還特別多,而且因為是在數據庫沒有查詢到,所以也不會被放到緩存中,這就是緩存穿透的場景。
大量的這種請求,最終會導致數據庫壓力劇增,最終就會將數據打垮,若是這個數據庫是核心數據庫,那么其他所有依賴這個庫的接口都會報錯。
例如,每次請求的參數都是id,而id是我們數據庫里的自增主鍵,但是請求過來的參數要么是-1這種,要么就是特別大的一個數,反正就是不存在的數據。
那么如何解決緩存穿透呢?
我們在Redis存儲的數據,主要是緩存的效果,目的是為了解決DB的壓力,所以一些熱點數據,都是先從緩存中獲取的,當緩存中不存在的時候再從DB中獲取然后再存入緩存。
但是如果一個高頻的熱點數據,在失效的一瞬間,它的大量請求就會直接打到DB上,這樣在DB還沒有返回數據給Redis的時候,DB承受了熱點請求的壓力,就好像緩存是一個水桶,然后突然水桶破了一個洞,直接沖垮了后面的堤壩(DB)。
造成緩存擊穿的原因是,在同一時刻從數據庫中獲取了大量數據,并且設置了相同的過期時間,這些緩存就會在同一時刻失效,這樣就造成了緩存擊穿的問題。
解決方案
Redis中存儲了很多的數據,但是有時候這些數據會出現,在同一個時刻批量過期的情況,因為有可能這些數據是批量插入的,所以他們的過期時間就會都在同一個時間。
正好在這個批量數據過期的時間點,大量的請求過來了,因為緩存數據過期了,所以沒有命中緩存,直接請求到了數據庫中。數據庫的壓力突然劇增,甚至有可能直接撐不住掛掉。然后有可能DBA會緊急重啟DB,但是剛一恢復,新的請求立馬又把DB打垮了。
也有可能就是Redis掛了,緩存都不能用了,請求也是直接打到了DB上,然后DB也是扛不住壓力,直接掛掉。再恢復,再掛掉。
Redis中同一時刻大量的Key過期,那一瞬間和Redis不存在一樣,還有Redis真的掛了的情況,這對服務和DB來說是災難性的問題。
解決方案
當說到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 口罩一種通過 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 口罩呢?該標準相比非醫用的標準,主要增加了一項阻止血液和體液滲透的能力,對于一般人來說,如果不是在醫院環境下,基本不會面對這樣的狀況,我們建議還是留給真正需要的前線醫護人員。
口罩固然十分重要,我們更需要在日常生活中注意個人衛生,勤洗手,不去人群聚集的地方,不進食野味和未經煮熟的動物產品。如果發現自己有持續發燒,胸悶或者是干咳的情況,為了自己和身邊人的健康,請盡早去醫院尋求醫生的意見。
參考資料
倦了網易版我的世界MOD少得可憐,但是離開了網易平臺聯機又顯得異常困難?今天我教大家一種不需要正版我的世界賬號又可以聯機的方法。咱話不多說直接上教程。
步驟一,下載必備MOD。
[1.16.2-1.12.2][自定義局域網服務器-LanServerProperties]自定義端口+關正版驗證
https://www.mcbbs.net/thread-1056335-1-1.html
(出處: Minecraft(我的世界)中文論壇)
打開上述鏈接
點擊下載地址
步驟二,把下載好的MOD放進我的世界mods文件夾
步驟三,打開我的世界進入地圖打開選項
點擊對局域網開放
注意在線模式要關掉,監聽端口可自己修改
點擊創建一個局域網世界,就會如下圖所示。
之后你的小伙伴便能在多人游戲中搜索到你的房間了。
如果搜索不到就點擊添加服務器,輸入創建游戲房間電腦的 IP地址:監聽端口 IP可以用百度搜索“本機IP地址”獲得
如果不知道怎么下載非網易版《我的世界》,那就點個關注。我會盡快更新下一期。
最后祝你和小伙伴玩得開心。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。