Posted SpringBoot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相关的知识,希望对你有一定的参考价值。

鐩稿叧鍘嗗彶鏂囩珷锛?/strong>闃呰鏈枃涔嬪墠锛屾偍鍙兘闇€瑕佸厛鐪嬩笅涔嬪墠鐨勭郴鍒?/strong>馃憞锛?/strong>




鎮熺氦锛氬笀鍌咃紝杩欎釜涓嶆槸鍦ㄤ箣鍓嶅氨璇磋繃浜嗭紝杩欎釜鎴戞噦銆?/span>

甯堝倕锛氭仼璧紝浣犳噦锛熼偅鎴戦棶浣犱笅memcached鍒嗗竷寮忎娇鐢ㄧ殑鏄粈涔堢畻娉曪紵

鎮熺氦锛氾紵锛燂紵闅鹃亾涓嶆槸hash涓€涓嬪氨鍙互浜嗗槢銆?/span>

甯堝倕锛氳鏄繖涔堢畝鍗曞氨鑳界悊瑙d簡锛屾垜杩樹細鍦ㄥ敔鍙ㄤ竴閬嶅槢銆?/span>

鎮熺氦锛氶偅寰掑効娲楄€虫伃鍚€?/span>

鍒嗗竷寮忕畻娉曠湡鏄悐鐐稿ぉ 鈥?memcached- Memcached - 绗?87绡?></p> 
<p class=

涓€銆丮emcached鍒嗗竷寮忔槸濡備綍瀹炵幇鐨?/span>

memcached鏈韩鏄竴涓潪甯歌交閲忕骇鐨勬湇鍔★紝涓嶆敮鎸佷富杈呭悓姝ワ紝涔熸病鏈夐泦缇ょ殑姒傚康銆備絾涓轰簡鍙墿灞曟€э紝memcached鏈嶅姟鍣ㄧ鍜?memcached 瀹㈡埛绔粨鍚堣捣鏉ュ彲浠ユ瀯鎴愪竴涓垎甯冨紡绯荤粺銆?/span>

鍦╩emcached鍒嗗竷寮忕郴缁熶腑锛屽悇涓?memcached 鑺傜偣涔嬮棿鏃犻』閫氫俊锛屾墍浠ユ墿灞曟€ч潪甯稿ソ銆?/span>

->Memcached鐨勫垎甯冨紡鐗圭偣锛?/span>

鈥?>: 鏈嶅姟鍣ㄧ涓嶅叧蹇冨垎甯冨紡锛氭湇鍔$鐨勫悇涓狹emcached閮芥槸鐙珛閮ㄧ讲锛屼箣闂翠笉鐩镐簰閫氫俊锛岃繖鏍锋湇鍔$閮ㄧ讲澶氫釜Memcached灏卞緢绠€鍗曘€?/span>

鍒嗗竷寮忕畻娉曠湡鏄悐鐐稿ぉ 鈥?memcached- Memcached - 绗?87绡?></p> 
<p class=

浜屻€佸垎甯冨紡绠楁硶

褰撳悜memcached闆嗙兢瀛樺叆/鍙栧嚭key/value鏃讹紝memcached瀹㈡埛绔▼搴忔牴鎹竴瀹氱殑绠楁硶璁$畻瀛樺叆鍝彴鏈嶅姟鍣?/span>锛岀劧鍚庡啀鎶妅ey/value鍊煎瓨鍒版鏈嶅姟鍣ㄤ腑銆備篃灏辨槸璇达紝瀛樺彇鏁版嵁鍒嗕簩姝ヨ蛋锛岀涓€姝ワ紝閫夋嫨鏈嶅姟鍣紝绗簩姝ュ瓨鍙栨暟鎹€?/span>

甯哥敤鐨勭畻娉曟湁涓ょ: 浣欐暟璁$畻鍒嗘暎娉?/span> 鍜?涓€鑷存€ash绠楁硶銆?/span>

2.1 浣欐暟璁$畻鍒嗘暎娉?/span>

鏍囧噯鐨刴emcached鍒嗗竷寮忕畻娉?/span>

CRC($key)%N

BTW锛欳RC鏄竴寰幆鍐椾綑绠楁硶锛孨锛歮emcached鏈嶅姟鍣ㄤ釜鏁般€?/span>

瀹㈡埛绔鍏堟牴鎹甼ey鏉ヨ绠桟RC , 鐒跺悗缁撴灉瀵规湇鍔″櫒鍙栨ā寰楀埌memcached鏈嶅姟鍣ㄨ妭鐐广€?/span>

       杩欑绠楁硶鍙栦綑璁$畻绠€鍗曪紝鍒嗘暎鏁堟灉濂斤紝浣嗘槸缂虹偣鏄鏋滄煇涓€鍙版満鍣ㄥ畷鏈猴紝閭d箞搴旇钀藉湪璇ユ満鍣ㄧ殑璇锋眰灏辨棤娉曞緱鍒版纭殑澶勭悊锛岃繖鏃堕渶瑕佸皢褰撴帀鐨勬湇鍔″櫒浠庣畻娉曚粠鍘婚櫎锛屾鏃跺€欎細鏈?(N-1) 鐨勬湇鍔″櫒鐨勭紦瀛樻暟鎹渶瑕侀噸鏂拌繘琛岃绠楋紱濡傛灉鏂板涓€鍙版満鍣紝浼氭湁 (N+1)鐨勬湇鍔″櫒鐨勭紦瀛樻暟鎹渶瑕佽繘琛岄噸鏂拌绠椼€傚浜庣郴缁熻€岃█锛岃繖閫氬父鏄笉鍙帴鍙楃殑棰犵案锛堝洜涓鸿繖鎰忓懗鐫€澶ч噺缂撳瓨鐨勫け鏁堟垨鑰呮暟鎹渶瑕佽浆绉伙級銆?/span>

2.2 涓€鑷存€ash绠楁硶

       灏唖erver鐨刪ash鍊煎垎閰嶈嚦0~2^32鐨勫渾鐜笂, 鐢ㄥ悓鏍风殑鏂规硶姹傚嚭瀛樺偍鏁板€奸敭鐨?/span>hash鍊煎苟鏄犲皠鍒板渾涓? 鐒跺悗浠庢暟鎹槧灏勫埌鐨勪綅缃紑濮?/span>椤烘椂閽?/span>鏌ユ壘, 灏嗘暟鎹瓨鏀捐嚦鎵惧埌鐨勭涓€鍙版湇鍔″櫒涓娿€傚鏋滆秴杩?~2^32杩樻壘涓嶅埌, 鍒欏皢鏁版嵁瀛樻斁鑷崇涓€鍙版湇鍔″櫒銆?/span>

鍒嗗竷寮忕畻娉曠湡鏄悐鐐稿ぉ 鈥?memcached- Memcached - 绗?87绡?></p> 
<p class=

2.2.1 绠楁硶杩囩▼

锛?锛夊厛鏋勯€犱竴涓暱搴︿负0~2^32锛?鐨?2娆″箓锛変釜鐨勬暣鏁扮幆锛堝張绉帮細涓€鑷存€ash鐜?/span>锛夛紝鏍规嵁鑺傜偣鍚嶇О鐨凥ash鍊煎皢缂撳瓨鏈嶅姟鍣ㄨ妭鐐规斁缃湪杩欎釜Hash鐜腑锛屽涓婂浘涓殑node1锛宯ode2绛夛紱

锛?锛夋牴鎹渶瑕佺紦瀛樼殑鏁版嵁鐨?/span>KEY鍊艰绠楀緱鍒板叾Hash鍊硷紝濡備笂鍥句腑鍙冲崐閮ㄥ垎鐨勨€滈敭鈥濓紝璁$畻鍏禜ash鍊煎悗椤烘椂閽堢node2杩戯紱

锛?锛夊湪Hash鐜笂椤烘椂閽堟煡鎵捐窛绂昏繖涓狵EY鐨凥ash鍊兼渶杩戠殑缂撳瓨鏈嶅姟鍣ㄨ妭鐐癸紝瀹屾垚KEY鍒版湇鍔″櫒鐨凥ash鏄犲皠鏌ユ壘锛屽涓婂浘涓鍙宠竟杩欎釜閿殑Hash鍊兼渶杩戠殑椤烘椂閽堟柟鍚戠殑鏈嶅姟鍣ㄨ妭鐐规槸node2锛屽洜姝よ繖涓狵EY浼氬埌node2涓鍙栨暟鎹紱

2.2.2 娣诲姞鑺傜偣

褰撶紦瀛樻湇鍔″櫒闆嗙兢闇€瑕佹墿瀹圭殑鏃跺€欙紝鍙渶瑕佸皢鏂板姞鍏ョ殑鑺傜偣鍚嶇О锛堝node5锛夌殑Hash鍊兼斁鍏ヤ竴鑷存€ash鐜腑锛岀敱浜嶬EY鎬绘槸椤烘椂閽堟煡鎵捐窛绂诲叾鏈€杩戠殑鑺傜偣锛屽洜姝ゆ柊鍔犲叆鐨勮妭鐐瑰彧褰卞搷鏁翠釜鐜腑鐨勪竴閮ㄥ垎銆傚涓嬪浘涓墍绀猴紝娣诲姞node5鍚庯紝鍙奖鍝嶅彸杈归€嗘椂閽堟柟鍚戠殑涓変釜Key/Value瀵规暟鎹紝鍙崰鏁翠釜Hash鐜腑鐨勪竴灏忛儴鍒嗐€?/span>

鍒嗗竷寮忕畻娉曠湡鏄悐鐐稿ぉ 鈥?memcached- Memcached - 绗?87绡?></p> 
<p class=

BTW锛氬垹鑺傝妭鐐规垨鑰呮湇鍔″櫒down鏈猴紝褰卞搷鐨勪篃鍙槸椤烘椂閽堢殑涓嬩竴涓妭鐐广€?/span>

 

2.2.3 绠楁硶浼樼己鐐?/span>

浼樼偣锛氬姩鎬佺殑澧炲垹鑺傜偣锛屾湇鍔″櫒down鏈猴紝褰卞搷鐨勫彧鏄『鏃堕拡鐨勪笅涓€涓妭鐐?/span>

缂虹偣锛氬綋鏈嶅姟鍣ㄨ繘琛宧ash鍚庡€艰緝涓烘帴杩戜細瀵艰嚧鍦ㄥ渾鐜笂鍒嗗竷涓嶅潎鍖€锛岃繘鑰屽鑷磌ey鐨勫垎甯冦€?/span>鏈嶅姟鍣ㄧ殑鍘嬪姏涓嶅潎鍖€銆傝嫢涓棿鏌愪竴鏉冮噸杈冨ぇ鐨剆erverdown鏈猴紝鍛戒腑鐜囦笅闄嶆槑鏄撅紱

 

2.2.4 绠楁硶瀵规瘮

鎴戜滑鍙互涓庝箣鍓嶇殑鏅€氫綑鏁癏ash浣滃姣旓細閲囩敤涓€鑷存€ash绠楁硶鏃讹紝褰?鍙版湇鍔″櫒鎵╁鍒?鍙版椂锛屽彲浠ョ户缁懡涓師鏈夌紦瀛樻暟鎹殑姒傜巼涓?5%锛岃繙楂樹簬鏅€氫綑鏁癏ash鐨?5%锛岃€屼笖闅忕潃闆嗙兢瑙勬ā瓒婂ぇ锛岀户缁懡涓師鏈夌紦瀛樻暟鎹殑姒傜巼涔熶細闅忎箣澧炲ぇ銆傚綋100鍙版湇鍔″櫒澧炲姞1鍙版椂锛岀户缁懡涓殑姒傜巼鏄?9%銆傝櫧鐒讹紝浠嶆湁灏忛儴鍒嗘暟鎹紦瀛樺湪鏈嶅姟鍣ㄤ腑鏃犳硶琚鍙栧埌锛屼絾鏄繖涓瘮渚嬭冻澶熷皬锛岄€氳繃璁块棶鏁版嵁搴撲篃涓嶄細瀵规暟鎹簱閫犳垚鑷村懡鐨勮礋杞藉帇鍔涖€?/span>

 

2.3 浼樺寲涓€鑷存€ash绠楁硶锛堣櫄鎷熻妭鐐癸級

鏈嶅姟鍣ㄧ殑鏄犲皠鍦扮偣鐨勫垎甯冮潪甯哥殑涓嶅潎鍖€, 瀵艰嚧鏁版嵁璁块棶鍊炬枩, 澶ч噺鐨刱ey琚槧灏勫埌鍚屼竴鍙版湇鍔″櫒涓婏紝杩欐椂鍊欓渶瑕佸湪涓€鑷存€у搱甯岀畻娉曠殑鍩虹涓婂紩鍏ヨ櫄鎷熻妭鐐癸細

鍒嗗竷寮忕畻娉曠湡鏄悐鐐稿ぉ 鈥?memcached- Memcached - 绗?87绡?></p> 
<p class=

寮曞叆铏氭嫙鑺傜偣鐨勬€濇兂锛岃В鍐?/span>涓€鑷存€ash绠楁硶鍒嗗竷涓嶅潎瀵艰嚧璐熻浇涓嶅潎鐨勯棶棰樸€備竴涓湡瀹炶妭鐐瑰搴旇嫢骞蹭釜铏氭嫙鑺傜偣锛屽綋key琚槧灏勫埌铏氭嫙鑺傜偣涓婃椂锛屽垯琚涓烘槧灏勫埌铏氭嫙鑺傜偣鎵€瀵瑰簲鐨勭湡瀹炶妭鐐逛笂銆?/span>

BTW锛氬紩鍏ヨ櫄鎷熻妭鐐圭殑鎬濇兂锛屾瘡涓墿鐞嗚妭鐐瑰搴斿渾鐜笂鑻ュ共涓櫄鎷熻妭鐐癸紙姣斿200~300涓級锛屽綋key hash鍒拌櫄鎷熻妭鐐癸紝灏变細瀛樺偍鍒板疄闄呯殑鐗╃悊鑺傜偣涓婏紝鏈夋晥鐨勫疄鐜颁簡璐熻浇鍧囪 銆?/span>

 

涓夈€佹偀绾ゅ皬缁?/span>

甯堝倕锛氬緬鍎匡紝鍚槑鐧芥病鏈夛紝鏉ワ紝浣犵粰澶у鏉ヤ釜鎬荤粨鍚с€?/span>

鎮熺氦锛氬ソ鐨勶紝甯堝倕锛屾偍浼戞伅涓嬶紝鍠濈偣姘淬€?/span>

鎬荤粨锛?/span>

锛?锛塎emcached鐨?/span>鍒嗗竷寮忓疄鐜板師鐞?/span>锛氭湇鍔$涔嬮棿浜掍笉閫氫俊锛屽垎甯冨紡鐨勫疄鐜版槸閫氳繃瀹㈡埛绔娇鐢ㄤ竴鑷存€ash绠楁硶杩涜瀹炵幇鐨勩€?/span>

锛?锛?/span>鍒嗗竷寮忕畻娉?/span>锛氫綑鏁拌绠楀垎鏁f硶鍜屼竴鑷存€ash绠楁硶銆?/span>

锛?锛変綑鏁板垎鏁f硶瀛樺湪鐨勯棶棰橈細褰撹妭鐐瑰彉鍔ㄧ殑鏃跺€欙紝缂撳瓨鏁版嵁闇€瑕侀噸鏂拌绠楋紝鍛戒腑鐜囧氨浼氬彈鍒板緢澶у奖鍝嶃€?/span>

锛?锛変竴鑷存€ash绠楁硶瀛樺湪闂锛氭暟鎹垎甯冧笉鍧囧寑锛岃礋杞戒笉鍧囪 銆?/span>

锛?锛?/span>浼樺寲鐨勪竴鑷磆ash绠楁硶鍘熺悊锛氬姞鍏ヨ櫄鎷熻妭鐐癸紝鐗╃悊鑺傜偣鏄犲皠鍒拌嫢骞蹭釜铏氭嫙鑺傜偣涓婏紝浠庤€屼娇寰楁暟鎹垎甯冨潎琛″垎甯冨湪铏氭嫙鑺傜偣涓婏紝浠ユ鏉ュ疄鐜拌礋杞藉潎琛°€?/span>

 

鎴戝氨鏄垜锛屾槸棰滆壊涓嶄竴鏍风殑鐑熺伀銆?br class="mq-205">鎴戝氨鏄垜锛屾槸涓庝紬涓嶅悓鐨勫皬鑻规灉銆?/code>

鎮熺┖瀛﹂櫌锛?span class="mq-209">https://t.cn/Rg3fKJD

瀛﹂櫌涓湁Spring Boot鐩稿叧鐨勮绋嬶紒鐐瑰嚮銆?/span>闃呰鍘熸枃銆嶈繘琛屾煡鐪嬶紒

SpringBoot瑙嗛锛歨ttps://t.cn/R3QepWG

Spring Cloud瑙嗛锛歨ttps://t.cn/R3QeRZc

SpringBoot Shiro瑙嗛锛歨ttps://t.cn/R3QDMbh

SpringBoot浜ゆ祦骞冲彴锛歨ttps://t.cn/R3QDhU0

SpringData鍜孞PA瑙嗛锛歨ttps://t.cn/R1pSojf

SpringSecurity5.0瑙嗛锛歨ttps://t.cn/EwlLjHh

Sharding-JDBC鍒嗗簱鍒嗚〃瀹炴垬锛歨ttps://t.cn/E4lpD6e

以上是关于的主要内容,如果未能解决你的问题,请参考以下文章

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数