Posted easydev
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相关的知识,希望对你有一定的参考价值。
鍦ㄥ紑濮嬫垜浠殑浜嬪姟涔嬫梾鍓嶏紝鎴戜滑鍏堣窡闅忕帇灏忚彍绔ラ瀷鍘诲弬鍔犱釜闈㈣瘯锛堝緢鐔熸倝鐨勫満鏅煒憋級锛?
鐜嬪皬鑿滐細浜嬪姟鏄痻xx锛岄伒寰狝CID鍘熷垯銆?
闈㈣瘯瀹橈細spring鎬庝箞閰嶇疆浜嬪姟锛屽浣曚娇鐢紵
闈㈣瘯瀹橈細鍒嗗竷寮忕郴缁熶腑鎬庝箞鑰冭檻浜嬪姟锛?
鍏跺疄杩欏満闈㈣瘯涓昏鏄洿缁曡繖浜嬪姟寮€灞曪紝璇村埌浜嬪姟鎴戞兂澶у鑲畾浼氭兂鍒伴摱琛岃浆璐﹂偅涓粡鍏告渚嬪惂锛熶笉璁板緱娌″叧绯伙紝鎴戜滑鍏堝洖椤句笅锛?
涓轰簡鏁版嵁鐨勪竴鑷存€э紝杩?浠朵簨锛岃涔堥兘鎴愬姛鍋氬畬锛岃涔堥兘涓嶆垚鍔燂紝鑰屼笖杩欎釜鎿嶄綔鐨勮繃绋嬩腑锛屽A銆丅甯愬彿鐨勫叾瀹冭闂繀闇€閿佹锛屾墍璋撻攣姝诲氨鏄鎺掗櫎鍏跺畠鐨勮鍐欐搷浣滐紝涓嶇劧浼氭湁鑴忔暟鎹殑闂锛岃繖灏辨槸浜嬪姟銆?
涓婅堪渚嬪瓙灏辨槸涓吀鍨嬬殑浜嬪姟搴旂敤鍦烘櫙锛屼簨鍔℃槸鐢变竴缁勬搷浣滄瀯鎴愮殑鍙潬銆佺嫭绔嬬殑宸ヤ綔鍗曞厓锛屾弧瓒矨CID鐗规€с€?
Atomicity(鍘熷瓙鎬?锛?
涓€涓簨鍔′腑鎵€鏈夋搷浣滈兘蹇呴』鍏ㄩ儴瀹屾垚锛岃涔堝叏閮ㄤ笉瀹屾垚銆?/span>
Consistency锛堜竴鑷存€э級锛?
鍦ㄤ簨鍔″紑濮嬫垨缁撴潫鏃讹紝鏁版嵁搴撳簲璇ュ湪涓€鑷寸姸鎬併€?/span>
Isolation锛堥殧绂绘€э級锛?
浜嬪姟灏嗗亣瀹氬彧鏈夊畠鑷繁鍦ㄦ搷浣滄暟鎹簱锛屽郊姝や笉鐭ユ檽銆?/span>
Durability锛堟寔涔呮€э級锛?
涓€鏃︿簨鍔″畬鎴愶紝灏变笉鑳借繑鍥炪€?/span>
鍙兘鍦ㄥソ鍑犲勾鍓嶈璧蜂簨鍔$煡閬撲笂闈㈢殑灏卞樊涓嶅浜嗭紝浣嗘槸闅忕潃浜掕仈缃戠殑鍙戠幇锛屾垜浠殑鏋舵瀯涔熼€愭鍚戝垎甯冨紡鏋舵瀯婕斿彉锛岃繖涓椂鍊欑殑鍙兘灏遍渶瑕佷簡瑙e垎甯冨紡浜嬪姟浜嗭紝涓嬫枃灏嗗垎鍒粙缁嶆湰鍦颁簨鍔″強鍒嗗竷寮忎簨鍔°€?
鏈湴浜嬪姟閫氬父鎸嘕DBC浜嬪姟锛屽湪JAVA搴旂敤涓竴鑸€氳繃涓嬮潰浣跨敤鏂瑰紡锛?
濡傛灉搴旂敤妗嗘灦浣跨敤spring锛岄偅鏇寸畝鍗曪紝鍙渶閰嶇疆涓嬶紝澶ц嚧濡備笅锛堟湰鏂囦笉鍋氳缁嗘弿杩帮級锛?
鍗曚釜鏈嶅姟鎴戜滑鍙互浣跨敤鏈湴浜嬪姟锛屽鏋滄垜浠湁澶氫釜鏈嶅姟鍛紵姣斿鐢靛晢璐墿涓殑涓嬪崟锛屽鎴疯喘涔颁竴涓晢鍝佺殑鏃跺€欐秹鍙婂鍟嗗搧鍙婂簱瀛樼殑淇敼锛岃€屽晢鍝佸拰搴撳瓨鍙堟槸2涓笉鍚岀殑鏈嶅姟锛屾樉鐒舵湰鍦颁簨鍔″氨椤惧強涓嶅埌浜嗐€?
浼犵粺鐨勫熀浜庢暟鎹簱鏈湴浜嬪姟鐨勮В鍐虫柟妗堝彧鑳戒繚闅滃崟涓湇鍔$殑涓€娆″鐞嗗叿澶囧師瀛愭€с€侀殧绂绘€с€佷竴鑷存€т笌鎸佷箙鎬э紝浣嗘棤娉曚繚闅滃涓垎甯冩湇鍔¢棿澶勭悊鐨勪竴鑷存€с€?
锛屾垜浠繀椤诲缓绔嬩竴濂楀垎甯冨紡鏈嶅姟澶勭悊涔嬮棿鐨勫崗璋冩満鍒讹紝淇濋殰鍒嗗竷寮忔湇鍔″鐞嗙殑鍘熷瓙鎬с€侀殧绂绘€с€佷竴鑷存€т笌鎸佷箙鎬с€?/span>
鍦ㄤ粙缁嶅垎甯冨紡浜嬪姟鍓嶏紝鎴戜滑鍏堟潵浜嗚В鍒嗗竷寮忔灦鏋勪腑鐨勪竴涓熀鏈悊璁猴紝鍒嗗竷寮忛鍩烠AP鐞嗚锛?/span>
鍒嗗竷寮忛鍩烠AP鐞嗚锛?
Consistency(涓€鑷存€?, 鏁版嵁涓€鑷存洿鏂帮紝鎵€鏈夋暟鎹彉鍔ㄩ兘鏄悓姝ョ殑
Availability(鍙敤鎬?, 濂界殑鍝嶅簲鎬ц兘
Partition tolerance(鍒嗗尯瀹归敊鎬? 鍙潬鎬?
瀹氱悊锛氫换浣曞垎甯冨紡绯荤粺鍙彲鍚屾椂婊¤冻浜岀偣锛屾病娉曚笁鑰呭吋椤俱€?br class="mq-179">蹇犲憡锛氭灦鏋勫笀涓嶈灏嗙簿鍔涙氮璐瑰湪濡備綍璁捐鑳芥弧瓒充笁鑰呯殑瀹岀編鍒嗗竷寮忕郴缁燂紝鑰屾槸搴旇杩涜鍙栬垗銆?/span>
鐩墠鍒嗗竷寮忎簨鍔℃湁濂藉绉嶅疄鐜版柟寮忥紝涓嬫枃鎴戜滑灏嗕粙缁嶅嚑绉嶄富娴佺殑
涓ら樁娈垫槸鍒嗗竷寮忎簨鍔$殑鍏稿瀷搴旂敤鍦烘櫙锛屾潵鑷猉/OPEN DTP浜嬪姟妯″瀷锛屽涓嬪浘锛?
鈻狝P(application program)锛氬簲鐢ㄧ▼搴忋€?
鈻猅M(transaction manager)锛氫簨鍔$鐞嗗櫒锛岃礋璐?鐞嗗拰鍗忚皟浜嬪姟銆?/span>
鈻猂Ms(resource mamager)锛氳祫婧愮鐞嗗櫒锛屽锛氭暟鎹簱銆丣MS銆?
涓夎€呬箣闂寸殑鍏崇郴锛?
AP鍙互鐩存帴鎿嶄綔鍗曚釜RM锛屼篃鍙互閫氳繃TM鎿嶄綔澶氫釜RM锛汿M涓嶳M闂寸殑鎿嶄綔閫氳繃XA鍗忚鏉ュ畬鎴愩€?/span>
鏍规嵁DTP妯″瀷锛屽湪鎿嶄綔澶氫釜璧勬簮鐨勬椂鍊欙紝鎴戜滑浜嬪姟绠$悊鍣ㄥ湪鍗忚皟澶氫釜璧勬簮鐨勬椂鍊欏氨瑕佺敤鍒颁袱闃舵鎻愪氦鍗忚(The two-phase commit protocol)锛屼篃绉?PC锛屽涓嬪浘鎵€绀猴細
绗竴闃舵锛氫簨鍔$鐞嗗櫒閫氱煡璧勬簮绠$悊鍣ㄥ噯澶囧垎鏀簨鍔★紝璧勬簮绠$悊鍣ㄥ憡涔嬩簨鍔$鐞嗗櫒鍑嗗缁撴灉锛?
绗簩闃舵锛?
浜嬪姟绠$悊鍣ㄩ€氱煡璧勬簮绠$悊鍣ㄦ彁浜ゅ垎鏀簨鍔★紝璧勬簮绠$悊鍣ㄥ憡涔嬩簨鍔$鐞嗗櫒缁撴灉銆?/span>
褰撶劧涓婅堪鍙槸鍗忚灞傞潰鐨勶紝JAVA涓栫晫閫氳繃JTA鏉ュ疄鐜颁笂杩板崗璁紝骞朵笖宸茬粡鏈夌涓夋柟妗嗘灦瀹炵幇浜咼TA锛屼富娴佺殑寮€婧愭鏋舵湁锛歫otm銆丄tomikos绛夈€?
璁插埌杩欓噷鎴戜滑涓嶇娆㈠懠锛屾垜浠壘鍒板垎甯冨紡浜嬪姟鐨勪竾閲戞补浜嗭紝鐒惰€屽苟娌℃湁锛屼袱闃舵鎻愪氦杩樺瓨鍦ㄤ竴浜涙瘮杈冨潙鐖圭殑闂锛屾渶涓ラ噸鐨勫氨鏄細鐗虹壊搴旂敤鐨勬€ц兘鍙婂彲浼哥缉鎬э紝鏈夌殑鏃跺€欏鐞嗕笉濂借繕瀹规槗褰卞搷鍙敤鎬э紝涓婃枃鎴戜滑鎻愬埌CAP锛屼篃灏辨槸璇磋繖涓柟妗堜负浜嗚拷姹備竴鑷存€锛岀壓鐗蹭簡鍒嗗尯鎵╁睍鎬锛屽鏋滄垜浠墍娑夊強鐨勭郴缁熷繀椤昏淇濊瘉涓€鑷存€э紝閭h繖鐨勭‘鏄釜涓嶉敊鐨勯€夋嫨锛屽鏋滅郴缁熷涓€鑷存€ц姹備笉鏄潪甯搁珮鍛紵杩欎釜鏃跺€欐垜浠彲鑳介渶瑕佸鎵惧叾浠栨柟妗堛€?
DTP瑕佷繚鎸佷簨鍔$殑闅旂鎬с€佷竴鑷存€э紝鍦ㄤ竴涓湇鍔″櫒涓彂璧风殑浜嬪姟涓娇鐢ㄥ埌鐨勪簨鍔¤祫婧愬皢浼氳閿佸畾锛屼笉鍏佽鍏朵粬搴旂敤璁块棶鍒颁簨鍔¤繃绋嬩腑鐨勪腑闂寸粨鏋滐紝鐩村埌鏁翠釜浜嬪姟琚彁浜ゆ垨鑰呭洖婊氥€傝繖灏遍€犳垚浜嬪姟A涓殑璧勬簮琚暱鏃堕棿閿佸畾锛岀郴缁熺殑鍙敤鎬у皢涓嶅彲鎺ュ彈銆?
濡傛灉璇碊TP鏄潰鍚戣祫婧愮殑锛岄偅涔圱CC灏辨槸闈㈠悜鏈嶅姟灞傞潰鐨勩€備竴涓湇鍔℃敮鎸乀CC鎿嶄綔闇€瑕佸疄鐜?涓搷浣滐紙闇€瑕佸箓绛夛級锛屽叧浜嶵CC锛屾敮浠樺疂鍥㈤槦鏇惧垎浜繃锛屽涓嬪浘锛?
tryX锛氬畬鎴愭墍鏈変笟鍔$殑妫€鏌ワ紙涓€鑷存€э級锛涢鐣欏繀椤荤殑涓氬姟璧勬簮锛堝噯闅旂锛?
confirmX锛氱湡姝g殑鎵ц鎿嶄綔锛屽彧浣跨敤Try闃舵棰勭暀鐨勮祫婧?
cancelX锛氶噴鏀綯ry闃舵棰勭暀鐨勮祫婧?
鈻竴涓畬鏁寸殑涓氬姟娲诲姩鐢变竴涓富涓氬姟鍜岃嫢骞蹭釜浠庝笟鍔$粍鎴愶紱
鈻富涓氬姟璐熻矗鍙戣捣骞跺畬鎴愬畬鏁寸殑涓氬姟锛?
鈻笟鍔℃椿鍔ㄧ鐞嗗櫒鎺у埗涓氬姟娲诲姩鐨勪竴鑷存€э紝瀹冪櫥璁颁笟鍔℃椿鍔ㄤ腑鐨勬搷浣滐紝骞跺湪涓氬姟鎻愪氦鐨勬椂鍊欑‘璁ゆ墍鏈変笟鍔onfirmy鎿嶄綔锛屽湪涓氬姟鍙栨秷鐨勬椂鍊欒皟鐢ㄦ墍鏈変笟鍔ancelx鎿嶄綔銆?
TCC涔熶繚鎸佷簡寰堝己鐨勪竴鑷存€э紝骞朵笖鐩稿DTP瀵硅祫婧愮殑閿佸畾鏇寸伒娲伙紝鎵╁睍鎬х浉瀵硅緝楂橈紝浣嗘槸鎴愭湰澶珮锛岃€屾垜浠樉绀轰娇鐢ㄧ殑浣跨敤鍏跺疄骞朵笉涓€瀹氳杩芥眰寰堝畬缇庣殑寮轰竴鑷存€э紝閭d箞鏄笉鏄繕鏈夊叾浠栨柟妗堝憿锛熸垜浠户缁線涓嬬湅銆?
鍏跺疄TCC涔熸槸涓€绉嶈ˉ鍋垮瀷浜嬪姟锛屼簡瑙d簡TCC涓嶉毦浜嗚В琛ュ伩鍨嬩簨鍔★紝琛ュ伩鍨嬩簨鍔″熀浜嶣ASE鍘熷垯銆?
BASE灏辨槸涓轰簡瑙e喅寮轰竴鑷存€у紩璧风殑闂鑰屽紩璧风殑鍙敤鎬ч檷浣庤€屾彁鍑虹殑瑙e喅鏂规銆?
鈥A(Basic Availability) 鍩烘湰鍙敤鎬?nbsp;
鈥(Soft state) 鏌旀€х姸鎬?nbsp;
鈥(Eventuallconsistency) 鏈€缁堜竴鑷存€?
浜嬪姟琛ュ伩鍗冲湪浜嬪姟閾句腑鐨勪换浣曚竴涓鍚戜簨鍔℃搷浣滐紝閮藉繀椤诲瓨鍦ㄤ竴涓畬鍏ㄧ鍚堝洖婊氳鍒欑殑鍙€嗕簨鍔°€傚鏋滄槸涓€涓畬鏁寸殑浜嬪姟閾撅紝鍒欏繀椤讳簨鍔¢摼涓殑姣忎竴涓笟鍔℃湇鍔℃垨鎿嶄綔閮芥湁瀵瑰簲鐨勫彲閫嗘湇鍔°€?/span>
涓句釜渚嬪瓙锛屼竴涓暱浜嬪姟锛坙ong-running锛夌敱鏈嶅姟A鍜屾湇鍔缁勬垚锛屾湇鍔″櫒A鐨勪簨鍔″鏋滄墽琛岄『鍒╋紝閭d箞浜嬪姟A灏卞厛琛屾彁浜わ紝濡傛灉浜嬪姟B涔熸墽琛岄『鍒╋紝鍒欎簨鍔涔熸彁浜わ紝鏁翠釜浜嬪姟灏辩畻瀹屾垚銆備絾鏄鏋滀簨鍔鎵ц澶辫触锛屼簨鍔鏈韩鍥炴粴锛岃繖鏃朵簨鍔宸茬粡琚彁浜わ紝鎵€浠ラ渶瑕佹墽琛屼竴涓ˉ鍋挎搷浣滐紝灏嗗凡缁忔彁浜ょ殑浜嬪姟A鎵ц鐨勬搷浣滀綔鍙嶆搷浣滐紝鎭㈠鍒版湭鎵ц鍓嶄簨鍔鐨勭姸鎬併€傚叿浣撳涓嬪浘锛?
鈻竴涓畬鏁寸殑涓氬姟娲诲姩鐢变竴涓富涓氬姟鍜岃嫢骞蹭釜浠庝笟鍔$粍鎴愶紱
鈻粠涓氬姟璐熻矗鎻愪緵涓氬姟鎿嶄綔鎿嶄綔鍙婅ˉ鍋挎搷浣滐紝琛ュ伩鎿嶄綔鍙互鎶垫秷姝e悜涓氬姟鎿嶄綔锛?
鈻笟鍔℃椿鍔ㄧ鐞嗗櫒鎺у埗涓氬姟娲诲姩鐨勪竴鑷存€э紝瀹冪櫥璁颁笟鍔℃椿鍔ㄤ腑鐨勬搷浣滐紝鍦ㄤ笟鍔″彇娑堢殑鏃跺€欒皟鐢ㄨˉ鍋挎搷浣溿€?
灏嗕竴浜涘悓姝ラ樆濉炵殑浜嬪姟鎿嶄綔鍙樹负寮傛鐨勬搷浣滐紝閬垮厤瀵规暟鎹簱浜嬪姟鐨勪簤鐢ㄣ€備笅闈粙缁嶄袱绉嶉€氳繃娑堟伅闃熷垪鏉ュ疄鐜板垎甯冨紡浜嬪姟鐨勬柟妗堬細
涓€绉嶆柟妗堟槸锛岀‘淇濇秷鎭湪浜嬪姟鎻愪氦鍚庢墠鍙戦€侊紝鍙互閲囧彇浠ヤ笅鍑犱釜姝ラ锛?
3銆佸彂閫佹秷鎭紙杩欓噷鍙互鍏堟嫤鎴垨鑰呮殏瀛橈級锛?
4銆佷笟鍔″鐞嗗畬鎴愬悗鍙戦€佹秷鎭紝澶辫触鍒欎笉鍙戙€?
鍙︿竴绉嶆柟寮忔槸锛屽綋鍓嶄笟鍔″鐞嗗悗鐩存帴鍚戝叾浠栨湇鍔″彂閫佹秷鎭紝鐢变簬缁濆ぇ澶氭暟鏄竴鑷寸殑锛屽彧鏈夊皯鏁扮壒娈婃儏鍐垫墠浼氬嚭鐜颁袱杈逛笉涓€鑷寸殑鎯呭喌锛岃繖涓椂鍊欐垜浠彲浠ラ噰鍙栭澶栫殑琛ュ伩鎺柦锛屽畾鏈熷悓姝ヤ袱杈圭殑鐘舵€佷互杈炬垚鏈€缁堜竴鑷淬€?
鍒拌繖閲岋紝澶у搴旇鑳界湅鍑烘潵锛屽垎甯冨紡浜嬪姟鍏跺疄鏈夊緢澶氱瀹炵幇鏂瑰紡锛屽疄闄呬娇鐢ㄤ腑鎴戜滑缁撳悎鑷韩鐨勪笟鍔″仛鍑烘渶鍚堥€傜殑閫夋嫨锛屼釜浜哄缓璁€夋嫨涓€鐩村瀷瑕佹眰涓嶉珮鐨勫熀浜庢秷鎭殑鎴栬€呰ˉ鍋跨殑浜嬪姟锛屽綋鐒朵竴涓叕鍙镐篃鍙兘閲囩敤澶氱浜嬪姟绫诲瀷浠ュ簲瀵逛笉鍚岀殑鍦烘櫙锛屾渶鍚庨檮涓婃敮浠樺疂鏌旀€т簨鍔℃灦鏋勶細
以上是关于的主要内容,如果未能解决你的问题,请参考以下文章
Python 操作Redis
python爬虫入门----- 阿里巴巴供应商爬虫
Python词典设置默认值小技巧
《python学习手册(第4版)》pdf
Django settings.py 的media路径设置
Python中的赋值,浅拷贝和深拷贝的区别