锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲午夜久久久久久尤物,亚洲成av人在片观看,亚洲精品无码你懂的http://m.tkk7.com/dongbule/category/48840.html寤洪犻珮鎬ц兘闂ㄦ埛緗?/description>zh-cnSat, 30 Jul 2011 15:45:22 GMTSat, 30 Jul 2011 15:45:22 GMT60嫻呰堪MongoDB鐨勭鐞嗘搷浣?/title><link>http://m.tkk7.com/dongbule/archive/2011/07/30/355409.html</link><dc:creator>闄堜簬鍠?/dc:creator><author>闄堜簬鍠?/author><pubDate>Sat, 30 Jul 2011 10:23:00 GMT</pubDate><guid>http://m.tkk7.com/dongbule/archive/2011/07/30/355409.html</guid><wfw:comment>http://m.tkk7.com/dongbule/comments/355409.html</wfw:comment><comments>http://m.tkk7.com/dongbule/archive/2011/07/30/355409.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/dongbule/comments/commentRss/355409.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/dongbule/services/trackbacks/355409.html</trackback:ping><description><![CDATA[<div>     涓嶇煡涓嶈鎴夸駭緋葷粺宸茬粡浣跨敤MongoDB涓騫村浜嗭紝璁板緱涓騫村浠ュ墠錛屾鏄疦OSQL琚儹鐐掓椂錛孧ongoDB鏇存槸浣滀負NOSQL涓殑浣間郊鑰咃紝琚倰寰楃伀鐑紝涔熷簲璇ュ氨鍦ㄥ綋鏃惰榪欒偂鐏儷鐫浜嗭紝鎵浠ヤ箟鏃犲弽欏劇殑閫夋嫨浜哅ongoDB錛岀幇鍦ㄦ兂鎯沖綋鏃剁‘瀹炴湁浜涘啿鍔ㄤ簡錛屽綋鏃禡ongoDB鐨勮祫鏂欒繕鏄瘮杈冨皯錛屾洿鍒涓枃璧勬枡浜嗭紝鍚庢潵榪樺嚭鐜頒嬌鐢∕ongoDB鎴愬姛搴旂敤鐨勮寖渚婩oursquare鐨勫畷鏈轟簨浠躲傜幇鍦ㄧ‘瀹炲簲璇ュ緢鎰熻阿MongoDB涓烘垜浠殑緋葷粺鏈嶅姟浜嗕竴騫翠簡錛屽湪榪欎竴騫寸殑鏃墮棿閲岋紝紜疄鍑虹幇榪囦笉灝戠殑灝忛棶棰橈紝鐗瑰埆鏄湪綆$悊鎿嶄綔涓婏紝鎴戞兂榪欏ぇ姒備篃鏄洜涓篗ongoDB鍦ㄧ郴緇熺淮鎶や笂涓嶅Mysql閭f牱鏈夌潃鍚勭鐨勪笟鐣屽疄璺碉紝寰寰灝卞彧鑳介氳繃綆$悊鍛樿嚜宸卞幓鎽哥儲銆?br /> 涓嬮潰灝嗗湪榪欎竴騫寸殑涓浜涚畝鍗曠殑綆$悊鎿嶄綔鍋氫竴涓嬭褰?br /><br /><div><div>    <a href="#x1">Starting and Stopping Mongo</a></div> <div>    <a href="#x2">Security and Authentication</a></div> <div>    <a href="#x3">Monitoring and Diagnostics</a></div> <div>    <a href="#x4">Backups</a></div> </div><br /> <div><strong><a target=""><span style="font-size: 12pt;">Starting and Stopping Mongo</span></a></strong><a target=""><a name='x1' id='x1'></a></a><strong><a target=""><span style="font-size: 12pt;"></span></a><br /> <br /> </strong><span style="background-color: #ccffcc;">MongoDB鍚姩</span><strong><br /> </strong> <div>瀵逛簡錛孧ongoDB鍦╨inux涓嬫槸鏃犻渶瀹夎鐨勶紝浠庡畼緗戜笂涓嬭澆涓嬪畨瑁呭寘鍚庤В鍘嬶紝鐩存帴鎵цmongod錛屽氨鍙互鍚姩MongoDB鏈嶅姟鍣紝褰撶劧mongod榪樻湁寰堝鐨勫惎鍔ㄩ夋嫨欏癸紝榪愯mongod --help灝卞彲浠ユ煡鐪嬫墍鏈夌殑閫夋嫨欏廣?br /> <br /> -f [ --config ] arg   configuration file specifying additional options<br /> 涓鑸潵璇達紝鍚姩閫夋嫨欏瑰彲浠ョ洿鎺ュ啓鍦ㄥ湪mongod鍚庨潰錛屼篃鍙互鎸囧畾閰嶇疆鏂囦歡錛岀敤鏂囦歡鏉ュ姞杞藉悇縐嶅惎鍔ㄩ」錛屽<br /> /home/mongodb/bin/mongod --config /home/mongodb/conf/mongod.conf</div> <strong><br /> </strong></div> <img src="http://m.tkk7.com/images/blogjava_net/dongbule/46046/1.jpg" alt="" width="725" border="0" height="195" /></div> <div>涓婇潰鏄竴鍙版祴璇曟満鐨勫惎鍔ㄩ夋嫨欏廣?br /> <br /> dbpath = /home/mongodb/data<br />     鎸囧畾鏁版嵁搴撶殑瀛樺偍鐩綍錛屽鏋滀笉璁劇疆鍒欎互mongodb鐨勬牴鐩綍涓虹洰褰曪紝褰揗ongoDB鍚姩涔嬪悗錛屽湪鏁版嵁搴撶殑瀛樺偍鐩綍涓嬩細鍒涘緩涓涓猰ongod.lock鏂囦歡錛屽畠鏄敤鏉ヨ褰曞綋鍓嶇殑mongod鐨勮繘紼嬪彿錛屽悓鏃朵篃鐢ㄤ簬鍖哄垎鍚勪釜mongod鐨勮繘紼嬪疄渚嬶紝鎵浠ヤ笉鍚岀殑mongod榪涚▼瀹炰緥鏄笉鑳界敤鐩稿悓鐨刣bpath銆?br /> logpath = /home/mongodb/mongodb.log<br />     鎸囧畾鏃ュ織杈撳嚭鐨勮礬寰勶紝濡傛灉娌℃湁璁劇疆logappend = true錛岀郴緇熶細娓呴櫎鍘熸潵鐨勬棩蹇楄褰曪紝鎶婂凡鏈夌殑鏂囦歡榪涜瑕嗙洊銆?br /> logappend = true<br />     鏃ュ織浠ヨ拷鍔犵殑鏂瑰紡榪涜璁板綍<br /> bind_ip = 192.168.86.111<br />     鎸囧畾瀵瑰鏈嶅姟鐨勭粦瀹歩p錛岃繖閲屾寚瀹氬唴緗戠殑ip鏂瑰紡錛屽鏋滃緗戞棤鐗規畩鐨勫鐞嗘柟寮忔槸鏃犳硶榪涜榪炴帴銆?br /> port = 27017<br />     鎸囧畾鏈嶅姟鍣ㄧ殑鐩戝惉绔彛鍙鳳紝榛樿鏄?7017錛屽鏋滃崟涓満鍣ㄨ榪愯澶氫釜mongod榪涚▼錛屽垯闇瑕佺粰姣忎釜榪涚▼鎸囧畾涓嶅悓鐨勭鍙e彿銆?br /> fork = true<br />     鎸囧畾浠ュ畧鎶よ繘紼嬬殑鏂瑰紡鏉ュ惎鍔∕ongoDB錛屽鏋滀笉鎸囧畾錛屽湪鍚姩mongod鍛戒護鏄姞“&”涔熸槸鍙互鐨勩?br /> auth = true<br />     鍚姩mongodb瀹㈡埛绔櫥褰曠殑璁よ瘉鏈哄埗銆?br /> master = true<br />     鎸囧畾璇ユ満鍣ㄤ負涓諱粠妯″紡涓嬬殑涓繪満鍣ㄣ?br /> 閰嶇疆瀹岄厤緗枃浠跺悗鍚爧mongod錛屽惎鍔ㄦ椂瑕佺洴鐫鏃ュ織鏂囦歡鐪嬶紝鍥犱負鏃ュ織閫氬父浼氬憡璇夋垜浠竴浜涢敊璇垨璀﹀憡鐨勪俊鎭紝榪欐牱鑳藉鏇村ソ鐨勫府鍔╂垜浠簡瑙e拰閬垮厤閿欒銆?br /> <img src="http://m.tkk7.com/images/blogjava_net/dongbule/46046/2.jpg" alt="" width="729" border="0" height="94" /><br /> <br /> <div>榪欓噷緇欏嚭浜嗕釜鎻愮ず錛屼嬌鐢ㄧ殑鏄?2浣嶇殑Mongodb錛屾墍浠ongoDB鍙槸瀛樺偍鏈澶т負2GB鐨勬暟鎹傚叾瀹炶繖涓窡MongoDB鐨刴map鏈哄埗鏈夊叧錛屽鏋滄槸64浣嶅垯涓嶄細瀛樺湪榪欑闄愬埗銆?br /> 璇鋒敞鎰忎竴瀹氳鐩潃鏃ュ織鐪?br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">tail </span><span style="color: #000000;">-</span><span style="color: #000000;">100f </span><span style="color: #000000;">/</span><span style="color: #000000;">home</span><span style="color: #000000;">/</span><span style="color: #000000;">mongodb</span><span style="color: #000000;">/</span><span style="color: #000000;">mongodb.log</span></div> <br /> <div><span style="background-color: #ccffcc;">鍋滄MongoDB</span></div> <div>鍗冧竾瑕佸己璋冪殑鏄崈涓囦笉瑕佷嬌鐢╧ill -9鍘誨叧闂璵ongod錛佽繖鏍鋒暟鎹簱浼氫笉鐞嗕竴鍒囩洿鎺ユ潃姝昏榪涚▼錛屼細浣垮緱鏁版嵁鏂囦歡鎹熷潖銆?br /> 紼沖Ε鐨勬柟娉曟槸浣跨敤kill -2 pid鍘誨叧闂璵ongod錛屼篃灝辨槸褰搈ongod榪涚▼鎺ュ彈鍒板叧闂寚浠ゅ悗浼氱瓑寰呭綋鍓嶈繍琛屾搷浣滄垨鏂囦歡鍒嗛厤絳夋搷浣滃畬姣曞悗錛屽叧闂墍鏈夋墦寮鐨勮繛鎺ワ紝騫跺皢緙撳瓨鐨勬暟鎹埛鏂板埌紓佺洏鍚庢墠姝e紡鍏抽棴銆?br /> 鏈紼沖Ε鐨勬柟寮忔槸浣跨敤shutdown鍛戒護鏉ョ粨鏉?br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">></span><span style="color: #000000;"> use admin<br /> switched to db admin<br /> </span><span style="color: #000000;">></span><span style="color: #000000;"> db.shutdownServer();</span></div> <br /> <div><strong>Security and Authentication</strong><a name='x2' id='x2'></a><br /><strong> <br /> </strong></div> </div> <div>鎵撳紑mongodb.org鐨凷ecurity鏂囨。錛岀涓鍙ヨ瘽灝辨槸 Running Without Security(Trusted Environment)錛岃窡鎴戜滑寮鴻皟涓栫晫涓婃病鏈変粈涔堢櫨鍒嗙櫨瀹夊叏鐨勭幆澧冿紝鏈濂界殑瀹夊叏鏄斁鍦ㄤ竴涓畨鍏ㄧ殑鐜涓繍琛岋紝榪欎箞鏃犲簳姘旂殑璇濊鏈厤涔熻浜轟負瀹冪殑瀹夊叏鎷呭績錛屼笉榪囦簨瀹炰笂MongoDB榪樻槸鏈夊畨鍏ㄨ璇佹ā寮忕殑錛屽彧涓嶈繃璺焟ysql瀵規瘮璧鋒潵鏈変竴鐐圭畝闄嬨?br /> <br /> <span style="background-color: #ccffcc;">MongoDB鐨勫畨鍏?/span><br /> MongoDB鐩墠鍙敮鎸佹渶鍩烘湰鐨勫畨鍏ㄨ璇侊紝濡傛灉鎴戜滑寮鍚簡瀹夊叏鎬ф鏌ワ紝鍒欏彧鏈夋暟鎹簱璁よ瘉鐢ㄦ埛鎵嶈兘榪涜璇誨啓鎿嶄綔錛屽綋鐒舵垜浠繕鍙互鍒涘緩璇誨啓鏉冮檺鐢ㄦ埛鍜屽彧璇繪潈闄愮敤鎴鳳紝濡傛灉鎴戜滑鍦╝dmin鐨勬暟鎹簱涓繘琛屽垱寤虹敤鎴鳳紝閭d箞admin涓殑鐢ㄦ埛灝變細琚綋浣滆秴綰х敤鎴鳳紝瓚呯駭鐢ㄦ埛鍙互璇誨啓鎵鏈夌殑鏁版嵁搴擄紝騫朵笖榪樺彲浠ヨ繘琛岀壒孌婄殑綆$悊鎿嶄綔錛屾瘮濡傚彲浠ュ啀鍒涘緩鍏朵粬鐢ㄦ埛鍏抽棴榪涚▼絳夋搷浣溿?br /> <br /> <span style="background-color: #ccffcc;">閰嶇疆MongoDb鐢ㄦ埛璁よ瘉</span><br /> 鏍規嵁瀹樼綉涓婄殑渚嬪瓙錛屾垜浠篃鏉ュ垱寤轟竴涓秴綰х敤鎴鳳紝涓涓猼est搴撲腑鍏鋒湁璇誨啓鎿嶄綔鐨勬櫘閫氱敤鎴鳳紝涓涓猼est搴撲腑鍙湁璇繪搷浣滅殑鏅氱敤鎴楓?/div> <br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">> use admin<br /> switched to db admin<br /> > db.addUser(</span><span style="color: #000000;">"</span><span style="color: #000000;">cyz</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">abc</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br /> {<br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">_id</span><span style="color: #000000;">"</span><span style="color: #000000;"> : ObjectId(</span><span style="color: #000000;">"</span><span style="color: #000000;">4dba5fe7c6792ae30fea3c31</span><span style="color: #000000;">"</span><span style="color: #000000;">)</span><span style="color: #000000;">,</span><span style="color: #000000;"><br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">user</span><span style="color: #000000;">"</span><span style="color: #000000;"> : </span><span style="color: #000000;">"</span><span style="color: #000000;">cyz</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;"><br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">readOnly</span><span style="color: #000000;">"</span><span style="color: #000000;"> : false</span><span style="color: #000000;">,</span><span style="color: #000000;"><br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">pwd</span><span style="color: #000000;">"</span><span style="color: #000000;"> : </span><span style="color: #000000;">"</span><span style="color: #000000;">8658a5bf469e005b047560619ef0d51c</span><span style="color: #000000;">"</span><span style="color: #000000;"><br /> }<br /> > use test<br /> switched to db test<br /> > db.addUser(</span><span style="color: #000000;">"</span><span style="color: #000000;">cyz001</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">abc</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br /> {<br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">user</span><span style="color: #000000;">"</span><span style="color: #000000;"> : </span><span style="color: #000000;">"</span><span style="color: #000000;">cyz001</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;"><br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">readOnly</span><span style="color: #000000;">"</span><span style="color: #000000;"> : false</span><span style="color: #000000;">,</span><span style="color: #000000;"><br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">pwd</span><span style="color: #000000;">"</span><span style="color: #000000;"> : </span><span style="color: #000000;">"</span><span style="color: #000000;">7a597bef551027cc2161d5e0efe4049e</span><span style="color: #000000;">"</span><span style="color: #000000;"><br /> }<br /> > db.addUser(</span><span style="color: #000000;">"</span><span style="color: #000000;">cyz002</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">abc</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">true)<br /> {<br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">user</span><span style="color: #000000;">"</span><span style="color: #000000;"> : </span><span style="color: #000000;">"</span><span style="color: #000000;">cyz002</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;"><br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">readOnly</span><span style="color: #000000;">"</span><span style="color: #000000;"> : true</span><span style="color: #000000;">,</span><span style="color: #000000;"><br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">pwd</span><span style="color: #000000;">"</span><span style="color: #000000;"> : </span><span style="color: #000000;">"</span><span style="color: #000000;">2dde0a3777cd7dd92459a6c3f98afac6</span><span style="color: #000000;">"</span><span style="color: #000000;"><br /> }<br /> </span></div> </div> <div>榪欓噷cyz鏄湪admin搴撲腑鍒涘緩錛屽睘浜庤秴綰х敤鎴鳳紝鍙互瀵規墍鏈夊簱榪涜鎿嶄綔錛屽湪test搴撲腑鍒涘緩鐨刢yz001鍜宑yz002灞炰簬test搴撶殑鎿嶄綔浜哄憳錛屽彧鑳藉test搴撹繘琛岀浉搴旀搷浣滐紝璁板緱瑕佷負瀹夊叏楠岃瘉鐢熸晥闇瑕佸皢鍚姩欏筧uth璁劇疆涓簍rue銆?br /> <br /> <span style="background-color: #ccffcc;">鏌ョ湅鐢ㄦ埛</span><br /> 鎵鏈夌殑鐢ㄦ埛淇℃伅閮藉瓨鍌ㄥ湪姣忎釜鏁版嵁搴撶殑db.system.users涓紝鍙互浣跨敤find()榪涜鏌ョ湅<br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">> use admin<br /> switched to db admin<br /> > db.system.users.find()<br /> { </span><span style="color: #000000;">"</span><span style="color: #000000;">_id</span><span style="color: #000000;">"</span><span style="color: #000000;"> : ObjectId(</span><span style="color: #000000;">"</span><span style="color: #000000;">4dba5fe7c6792ae30fea3c31</span><span style="color: #000000;">"</span><span style="color: #000000;">)</span><span style="color: #000000;">,</span><span style="color: #000000;"> </span><span style="color: #000000;">"</span><span style="color: #000000;">user</span><span style="color: #000000;">"</span><span style="color: #000000;"> : </span><span style="color: #000000;">"</span><span style="color: #000000;">cyz</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;"> </span><span style="color: #000000;">"</span><span style="color: #000000;">readOnly</span><span style="color: #000000;">"</span><span style="color: #000000;"> : false</span><span style="color: #000000;">,</span><span style="color: #000000;"> </span><span style="color: #000000;">"</span><span style="color: #000000;">pwd</span><span style="color: #000000;">"</span><span style="color: #000000;"> : <br /> <br /> </span><span style="color: #000000;">"</span><span style="color: #000000;">8658a5bf469e005b047560619ef0d51c</span><span style="color: #000000;">"</span><span style="color: #000000;"> }</span></div> <br /> 鍏朵腑鐨刾wd鏄牴鎹敤鎴峰悕鍜岀敤鎴峰瘑鐮佺敓鎴愮殑鏁e垪鍊箋?br /> <br /> <span style="background-color: #ccffcc;">淇敼鐢ㄦ埛</span><br /> 涓嶇鏄坊鍔犵敤鎴鳳紝淇敼鐢ㄦ埛瀵嗙爜錛屼慨鏀圭敤鎴鋒搷浣滄潈闄愰兘浣跨敤addUser()鏉ュ畬鎴愩傚垹闄ょ敤鎴峰彲浠ョ敤remove()鏉ュ疄鐜般?/div> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">> db.system.users.find({</span><span style="color: #000000;">"</span><span style="color: #000000;">user</span><span style="color: #000000;">"</span><span style="color: #000000;">:</span><span style="color: #000000;">"</span><span style="color: #000000;">cyz001</span><span style="color: #000000;">"</span><span style="color: #000000;">})</span></div> </div> <br /> <div><span style="background-color: #ccffcc;">鏇村鐨勫畨鍏ㄨ冭檻</span><br /> <br /> 鍒氳浜哅ongoDB鐨勫畨鍏ㄨ璇佸叾瀹炶繕鏄畝闄嬬殑錛屾墍浠ユ垜浠繕鏄湁鍏朵粬寰堝鐨勫畨鍏ㄨ冭檻銆?br /> 1.姣斿璇碝ongoDB浼犺緭鍗忚鏄笉鍔犲瘑鐨勶紝濡傛灉闇瑕佸姞瀵嗙殑璇濓紝鎴戜滑鍙互鑰冭檻浣跨敤ssh闅ч亾鎴栨槸浠栦滑鐨勬妧鏈潵瀵瑰鎴風鍜屾湇鍔$涔嬮棿鐨勯氳榪涜鍔犲瘑銆?br /> 2.灝哅ongoDB閮ㄧ講鍦ㄥ彧鏈夊鎴風鏈嶅姟鍣ㄦ墠鑳借闂埌鐨勭幆澧冿紝姣斿鍐呯綉錛寁pn緗戠粶涓紝鍙互浣跨敤 bind_ip = 鏈満鎴栧唴緗?銆?br /> 3.濡傛灉紜疄闇瑕佸皢MongoDB鏆撮湶鍦ㄥ閮ㄧ幆澧冨彲浠ヨ冭檻浣跨敤IPTABLES絳夋妧鏈繘琛岃闂檺鍒躲?br /> <br /> <div><strong>Monitoring and Diagnostics</strong><a name='x3' id='x3'></a><br /> <br /> <div>瀹樼綉棣栧厛緇欐垜浠帹鑽愪簡mongostat鐩戞帶宸ュ叿錛屽熀鏈笂mongostat鍙互浣滀負涓涓閮ㄨ嫻婱ongoDB鍐呴儴鐘舵佹寚鏍囩殑宸ュ叿錛屽茍涓斾竴縐掓洿鏂頒竴嬈★紝濡傛灉鍑虹幇涓浜涙ц兘闂鍙互鐢ㄨ繖閲屽叆鎵嬭繘琛屽垎鏋愩?br /> <br /> <img src="http://m.tkk7.com/images/blogjava_net/dongbule/46046/3.jpg" alt="" width="1144" border="0" height="122" /></div> <br /> <div>榪欓噷鐨勫睘鎬ч兘鍙互閫氳繃mongostat --help榪涜鏌ョ湅錛屾湁鍑犱釜鍒楅渶瑕佽В閲婁竴涓嬶紝鍙互甯姪鍒版垜浠彂鐢熸ц兘闂鏃舵瘮杈冨噯澶囩殑鎵懼埌瀹氫綅銆?br /> <br /> faults錛氳繖鏄竴涓噸瑕佺殑鎬ц兘鎸囨爣錛屾樉紺轟綘鐨勬満鍣ㄦ瘡縐掗〉闈㈡晠闅滅殑鏁伴噺錛岃繖涓槸mongoDB鏄犲皠鍒拌櫄鎷熷湴鍧絀洪棿錛岃屼笉鏄墿鐞嗗唴瀛橈紝榪欎釜鍊煎鏋滈楂樼殑璇濓紝鍙兘鎰忓懗鐫浣犵殑鏈哄櫒娌℃湁瓚沖鐨勫唴瀛樻潵瀛樺偍鏁版嵁鍜岀鐩樼殑璁塊棶銆?br /> flushes錛氭瘡縐掑仛浜嗗灝戞fsync錛岃〃闈㈠灝戞鏁版嵁琚埛鏂拌繘浜嗙鐩樸?br /> mapped錛氭槸鎸噈map鏈夊灝戞暟鎹噺錛屼篃灝辨槸鏈嶅姟鍣ㄧ殑鍐呭瓨鏄犲皠錛屽叾涓寘鍚簡铏氭嫙鍐呭瓨鍜屽父椹誨唴瀛樸?br /> locked錛氳繖涓艱〃闈㈠叏灞鍐欏叆閿佸崰鐢ㄤ簡鏈哄櫒澶氬皯鏃墮棿錛?褰撴斁鐢熷叏灞鍐欏叆閿佹椂錛屾墍鏈夌殑鏌ヨ鎿嶄綔閮藉皢絳夊緟錛岀洿鍒板啓鍏ラ攣鐨勮В閿侊紝濡傛灉榪欎釜閿侀楂樻湁鍙兘鏄綘鐨勭▼搴忛偅閮ㄥ垎鍑虹幇闂銆?br /> idx miss錛欱鏍戞湭鍛戒腑鐨勬瘮渚嬶紝榪欎釜搴旇鏄垜浠煡璇㈢殑鍛戒腑鐨勫疄鏃舵寚鏁幫紝涓鑸湪鐗瑰畾鏌ヨ涓細鏈夌敤鍒般?br /> qr | qw錛氬鏋滄湁澶鐨勬煡璇㈣繘琛屽鐞嗭紝瀹冧滑灝變互涓涓槦鍒楃殑鏂瑰紡榪涜錛屽鏋滆繖涓奸楂樼殑璇濓紝閭d箞鏌ヨ涔熶細鍙樺緱寰堟參錛屽洜涓哄悗闈㈢殑闃熷垪蹇呴』絳夊緟鍓嶉潰鐨勯槦鍒楁墽琛屽畬姣曪紝楂樺茍鍙戞椂錛屼竴鑸槦鍒楀間細鍗囬珮銆?br /> 鍙﹀鎴戜滑榪樺彲浠ュ湪mongodb shell涓繘琛屾鏌ワ紝浣跨敤db.serverStatus()</div> </div> <img src="http://m.tkk7.com/images/blogjava_net/dongbule/46046/4.jpg" alt="" width="683" border="0" height="376" /></div> <br /> <div>鍩烘湰涓奷b.serverStatus()璺焟ongostat 宸笉澶氾紝涓嶈繃瀹冩樉紺虹殑鏁版嵁鏇翠負鍏蜂綋錛屽畠涔熸湁涓涓己闄峰氨鏄畠鐨勬暟鎹槸闈欐佺殑錛屼笉鏄疄鏃剁殑銆?br /> <br /> <span style="background-color: #ccffcc;">Http Console</span><br /> 鍏跺疄mongodb榪樻彁渚涗簡涓涓窡鐩磋鐨勬嫻嬪伐鍏鳳紝鍦ㄩ粯璁ゆ儏鍐典笅錛屽惎鍔╩ongodb鐨勫悓鏃惰繕浼氬惎鍔ㄤ竴涓猦ttp鐨勬湇鍔″櫒錛岀敤緗戦〉灞曠ず鐨勪俊鎭瘮鍓嶄袱涓伐鍏鋒潵寰楁洿鍔犵洿瑙傦紝鍚姩榛樿鐨勭洃鍚鍙d負28017 http錛?/ip:28017<br /> <br /> <img src="http://m.tkk7.com/images/blogjava_net/dongbule/46046/5.jpg" alt="" width="1178" border="0" height="385" /></div> <img src="http://m.tkk7.com/images/blogjava_net/dongbule/46046/6.jpg" alt="" width="1151" border="0" height="236" /><br /> 鍩烘湰涓婃垜浠彲浠ョ湅鍒版煡璇紝澶嶅埗錛岄攣絳夌瓑榪欎簺鐨勬儏鍐碉紝鍏蜂綋鐨勫弬鏁拌繕鏄笂瀹樼綉looklook錛宧ttp://www.mongodb.org/display/DOCS/Http+Interface<br /> <div>褰撶劧浜嗭紝鎴戜滑榪樺彲浠ヤ嬌鐢ㄥ叾浠栫殑涓撲笟鐩戞帶杞歡榪涜鐩戞帶錛屽nagios錛宑acti錛岃繖浜涢兘鏈塵ongodb鐨勬彃浠躲?br /> <br /> <div><strong>Backups</strong><a name='x4' id='x4'></a><br /> MongoDB鐨勫浠芥満鍒惰繕鏄笉閿欑殑錛屽浠界殑鏂瑰紡涔熸槸寰堝錛岃繖涓茍涓嶆瘮mysql瑕佸樊銆?br /> <br /> Shutdown and Backup<br /> 鍏抽棴鏈嶅姟錛岀洿鎺ユ妸dbpath鍙傛暟鐨勭洰褰曡繘琛屽浠斤紝鍙渶鎶婃墍鏈夌殑鏂囦歡榪涜澶嶅埗鍒板叾浠栧湴鏂瑰氨鍙互錛屼笉榪囧鏋滆繖涓浠芥槸鍦ㄦ湇鍔″惎鍔ㄦ椂鍊欏仛鐨勮瘽錛屾湁鍙兘澶囦喚鐨勬枃浠朵細琚崯鍧忥紝铏界劧榪欑鍏抽棴鏈嶅姟鐨勫浠藉緢鏈夋晥涔熷緢瀹夊叏錛岄兘鏁堟灉鐩稿綋涓嶇悊鎯熾?br /> <br /> mongodump & mongorestore<br /> mongodump綆鐩村氨鏄痬ysqldump鐨勫彟涓鐗堬紝濡傛灉浣犱嬌鐢ㄨ繃mysqldump閭e氨鍐嶇啛鎮変笉榪囦簡錛宮ongodbdump鍙互浣跨敤鍦ㄥ悇涓鎴風錛屽姝e湪榪愯鐨刴ongodb鏈嶅姟鍋氬嚭鏌ヨ錛岀劧鍚庡皢鎵鏈夋煡鍒扮殑鏂囨湰鍐欏叆鍒板鎴風鐨勭鐩樸?/div> </div> <img src="http://m.tkk7.com/images/blogjava_net/dongbule/46046/7.jpg" alt="" width="704" border="0" height="257" /><br /> <br /> <div><br /> 闄や簡mongodump錛孧ongoDB榪樻彁渚涗簡浠庡浠戒腑鎭㈠鏁版嵁鐨勫伐鍏穖ongorestore錛宮ongorestore浠巑ongodump鑾峰彇緇撴灉錛屽茍灝嗗浠界殑鏁版嵁鎻掑叆鍒拌繍琛岀殑MongoDB瀹炰緥銆?/div> <br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">./mongodump --db test --collection user --out - > /home/chenyz/cyz.bson<br /> ./mongorestore --db test --collection user --directoryperdb /home/chenyz/cyz.bson --drop cyz.bson</span></div> <br /> <div>涓婇潰鐨勪緥瀛愪腑錛屾寚瀹氫簡瑕佸浠界殑db鍜岃澶囦喚鐨刢ollection錛?-drop琛ㄦ槑瑕佸湪鎭㈠鍓嶅垹闄ら泦鍚堬紝鍚﹀垯錛屾暟鎹皢鍜岀幇鏈夌殑闆嗗悎鏁版嵁鍚堝茍銆?br /> <br /> <span style="background-color: #ccffcc;">涓諱粠澶囦喚</span><br /> 涓婇潰璇寸殑鍑犵澶囦喚鏁版嵁鏂瑰紡宸茬粡寰堢伒媧諱簡錛屼絾閮戒笉鍙婂湪浠庢湇鍔″櫒涓婂浠芥潵寰楁柟渚匡紝浠庢湇鍔″櫒鐨勬暟鎹嚑涔庢槸浜庝富鏈嶅姟鍣ㄨ繘琛屽悓姝ワ紝娑夊強鍒頒富浠庢柟闈㈣繕鏈夊緢澶氾紝浠庢湇鍔″櫒澶囦喚灝變笉鏀懼湪榪欓噷璁蹭簡銆?br /> <br /> <span style="background-color: #ccffcc;">淇</span><br /> 閬囧埌涓浜涘仠鐢碉紝鎴栭潪娉曞叧闂璵ongodb錛屼笉鍚堢悊澶囦喚鏂囦歡鐨勬搷浣滐紝寰寰浼氬嚭鐜版枃浠舵崯姣佺殑鎻愮ず錛屽垢濂斤紝mongodb鍐呯疆鐨勪慨澶嶅姛鑳戒細璇曠潃鍘繪仮澶嶆崯鍧忕殑鏂囦歡銆?br /> 鎿嶄綔寰堢畝鍗曪紝鍙渶鍦ㄥ惎鍔╩ongod 鍔犲叆 --repair鍚姩欏癸紝緋葷粺灝變細灝嗘墍鏈夌殑鏂囦歡瀵煎叆蹇界暐閭d簺鏃犳晥鐨勬枃妗g劧鍚庤繘琛屽鍏ワ紝瀹屾垚涔嬪悗錛屼細閲嶆柊寤虹珛绱㈠紩錛屾暟鎹噺澶х殑璇濋渶瑕佽姳璐瑰緢闀跨殑鏃墮棿錛屽洜涓烘墍鏈夌殑鏂囦歡閮介渶瑕佽繘琛岄獙璇侊紝鎵鏈夌殑绱㈠紩閮介渶瑕侀噸寤猴紝鍙﹀淇鏁版嵁搴撹繕鑳借搗鍒板帇緙╂暟鎹殑浣滅敤錛岄棽緗殑絀洪棿錛岀鐗囧湪淇鍚庝細琚噸鏂板洖鏀惰繘琛屼嬌鐢ㄣ?br /> <br /> 鍙﹀鍦╯hell涓篃鍙互鐩存帴榪涜repair鎿嶄綔<br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">> db.repairDatabase()<br /> {<br />         </span><span style="color: #000000;">"</span><span style="color: #000000;">ok</span><span style="color: #000000;">"</span><span style="color: #000000;"> : </span><span style="color: #000000;">1</span><span style="color: #000000;"><br /> }</span></div> </div><img src ="http://m.tkk7.com/dongbule/aggbug/355409.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/dongbule/" target="_blank">闄堜簬鍠?/a> 2011-07-30 18:23 <a href="http://m.tkk7.com/dongbule/archive/2011/07/30/355409.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璇磋MongoDB鐨凮bjectIdhttp://m.tkk7.com/dongbule/archive/2011/06/12/352138.html闄堜簬鍠?/dc:creator>闄堜簬鍠?/author>Sun, 12 Jun 2011 10:30:00 GMThttp://m.tkk7.com/dongbule/archive/2011/06/12/352138.htmlhttp://m.tkk7.com/dongbule/comments/352138.htmlhttp://m.tkk7.com/dongbule/archive/2011/06/12/352138.html#Feedback4http://m.tkk7.com/dongbule/comments/commentRss/352138.htmlhttp://m.tkk7.com/dongbule/services/trackbacks/352138.html鍓嶆鏃墮棿鏈変釜鏈嬪弸闂垜錛屽垎甯冨紡涓婚敭鐢熸垚絳栫暐鍦ㄦ垜浠繖杈規槸鎬庝箞瀹炵幇鐨勶紝褰撴椂鎴戠粰鐨勭瓟妗堟槸sequence錛屽綋鐒惰繖鍦ㄤ笉楂樺茍鍙戠殑鎯呭喌涓嬫槸娌℃湁浠諱綍闂錛屽疄闄呬笂錛屾垜浠殑涓婚敭鐢熸垚鏄彲鎺х殑錛屼絾濡傛灉鏄湪鍒嗗竷寮忛珮騫跺彂鐨勬儏鍐典笅錛岄偅鑲畾鏄湁闂鐨勩?br />
紿佺劧鎯寵搗mongodb鐨刼bjectid錛岃寰椾互鍓嶇湅榪囨枃妗o紝objectid鏄竴縐嶈交閲忓瀷鐨勶紝涓嶅悓鐨勬満鍣ㄩ兘鑳界敤鍏ㄥ眬鍞竴鐨勫悓縐嶆柟娉曡交閲忕殑鐢熸垚瀹冿紝鑰屼笉鏄噰鐢ㄤ紶緇熺殑鑷鐨勪富閿瓥鐣ワ紝鍥犱負鍦ㄥ鍙版湇鍔″櫒涓婂悓姝ヨ嚜鍔ㄥ鍔犱富閿棦璐瑰姏鍙堣垂鏃訛紝涓嶅緱涓嶄僵鏈嶏紝mongodb浠庡紑濮嬭璁″氨琚畾涔変負鍒嗗竷寮忔暟鎹簱銆?br />涓嬮潰娣卞叆涓鐐規潵緲葷炕榪欎釜Objectid鐨勫簳緇嗭紝鍦╩ongodb闆嗗悎涓殑姣忎釜document涓兘蹇呴』鏈変竴涓?_id"寤猴紝榪欎釜閿殑鍊煎彲浠ユ槸浠諱綍綾誨瀷鐨勶紝鍦ㄩ粯璁ょ殑鎯呭喌涓嬫槸涓狾bjectid瀵硅薄銆?br />褰撴垜浠涓涓猚ollection涓彃鍏ヤ竴鏉′笉甯id鐨勮褰曪紝緋葷粺浼氳嚜鍔ㄥ湴鐢熸垚涓涓猒id鐨刱ey
> db.t_test.insert({"name":"cyz"})
> db.t_test.findOne({"name":"cyz"})
{ "_id" : ObjectId("4df2dcec2cdcd20936a8b817"), "name" : "cyz" }

鍙互鍙戠幇榪欓噷澶氬嚭涓涓狾bjectid綾誨瀷鐨刜id錛屽綋鐒朵簡錛岃繖涓猒id鏄郴緇熼粯璁ょ敓鎴愮殑錛屼綘涔熷彲浠ヤ負鍏舵寚瀹氫竴涓鹼紝涓嶈繃鍦ㄥ悓涓collections涓鍊煎繀欏繪槸鍞竴鐨?br />
鎶?ObjectId("4df2dcec2cdcd20936a8b817")榪欎覆鍊兼嬁鍑烘潵騫跺鐓у畼緗戠殑瑙f瀽鏉ユ繁鍏ュ垎鏋愩?br />
"4df2dcec2cdcd20936a8b817" 浠ヨ繖孌靛瓧絎︿覆涓轟緥鏉ヨ繘琛岃В鏋愶紝榪欐槸涓涓?4浣嶇殑瀛楃涓詫紝鐪嬭搗鏉ュ緢闀匡紝寰堥毦鐞嗚В錛屽疄闄呬笂瀹冩槸鐢監bjectId(string)鎵鍒涘緩鐨勪竴緇勫崄鍏繘鍒剁殑瀛楃錛屾瘡涓瓧鑺備袱浣嶇殑鍗佸叚榪涘埗鏁板瓧錛屾誨叡浣跨敤浜?2瀛楄妭鐨勫瓨鍌ㄧ┖闂達紝鍙兘鏈変簺鏈嬪弸浼氭劅鍒板緢濂囨紝灞呯劧鏄敤浜?2涓瓧鑺傦紝鑰宮ysql鐨処NT綾誨瀷涔熷彧鏈?涓瓧鑺傦紝涓嶈繃鎸夌収鐜板湪鐨勫瓨鍌ㄨ澶囷紝澶氬嚭鏉ョ殑榪欑偣瀛楄妭涔熷簲璇ヤ笉浼氭垚涓轟粈涔堢摱棰堬紝瀹為檯涓婏紝mongodb鍦ㄨ璁′笂鏃犲涓嶅湪鐨勪綋鐜扮潃鐢ㄧ┖闂存崲鏃墮棿鐨勬濇兂錛屾帴涓嬬湅鍚?br />
涓嬮潰鏄畼緗戞寚瀹欱son涓璒bjectId鐨勮緇嗚鑼?br />


TimeStamp
鍓?浣嶆槸涓涓猽nix鐨勬椂闂存埑錛屾槸涓涓猧nt綾誨埆錛屾垜浠皢涓婇潰鐨勪緥瀛愪腑鐨刼bjectid鐨勫墠4浣嶈繘琛屾彁鍙?#8220;4df2dcec”錛岀劧鍚庡啀灝嗕粬浠畨瑁呭崄鍏繘鍒朵笓涓哄崄榪涘埗錛?#8220;1307761900”錛岃繖涓暟瀛楀氨鏄竴涓椂闂存埑錛屼負浜嗚鏁堟灉鏇翠匠鏄庢樉錛屾垜浠皢榪欎釜鏃墮棿鎴寵漿鎹㈡垚鎴戜滑涔犳儻鐨勬椂闂存牸寮?/div>
$ date -d '1970-01-01 UTC 1307761900  sec'  -u
2011騫?nbsp;06鏈?nbsp;11鏃?nbsp;鏄熸湡鍏?nbsp;03:11:40 UTC

鍓?涓瓧鑺傚叾瀹為殣钘忎簡鏂囨。鍒涘緩鐨勬椂闂達紝騫朵笖鏃墮棿鎴沖鍦ㄤ簬瀛楃鐨勬渶鍓嶉潰錛岃繖灝辨剰鍛崇潃ObjectId澶ц嚧浼氭寜鐓ф彃鍏ヨ繘琛屾帓搴忥紝榪欏浜庢煇浜涙柟闈㈣搗鍒板緢澶т綔鐢紝濡備綔涓虹儲寮曟彁楂樻悳绱㈡晥鐜囩瓑絳夈備嬌鐢ㄦ椂闂存埑榪樻湁涓涓ソ澶勬槸錛屾煇浜涘鎴風椹卞姩鍙互閫氳繃ObjectId瑙f瀽鍑鴻璁板綍鏄綍鏃舵彃鍏ョ殑錛岃繖涔熻В絳斾簡鎴戜滑騫蟲椂蹇熻繛緇垱寤哄涓狾bjectid鏃訛紝浼氬彂鐜板墠鍑犱綅鏁板瓧寰堝皯鍙戠幇鍙樺寲鐨勭幇瀹烇紝鍥犱負浣跨敤鐨勬槸褰撳墠鏃墮棿錛屽緢澶氱敤鎴鋒媴蹇冭瀵規湇鍔″櫒榪涜鏃墮棿鍚屾錛屽叾瀹炶繖涓椂闂存埑鐨勭湡瀹炲煎茍涓嶉噸瑕侊紝鍙鍏舵諱笉鍋滃鍔犲氨濂姐?/div>
Machine
鎺ヤ笅鏉ョ殑涓変釜瀛楄妭錛屽氨鏄?2cdcd2 ,榪欎笁涓瓧鑺傛槸鎵鍦ㄤ富鏈虹殑鍞竴鏍囪瘑絎︼紝涓鑸槸鏈哄櫒涓繪満鍚嶇殑鏁e垪鍊鹼紝榪欐牱灝辯‘淇濅簡涓嶅悓涓繪満鐢熸垚涓嶅悓鐨勬満鍣╤ash鍊鹼紝紜繚鍦ㄥ垎甯冨紡涓笉閫犳垚鍐茬獊錛岃繖涔熷氨鏄湪鍚屼竴鍙版満鍣ㄧ敓鎴愮殑objectid涓棿鐨勫瓧絎︿覆閮芥槸涓妯′竴鏍風殑鍘熷洜銆?br />
pid
涓婇潰鐨凪achine鏄負浜嗙‘淇濆湪涓嶅悓鏈哄櫒浜х敓鐨刼bjectid涓嶅啿紿侊紝鑰宲id灝辨槸涓轟簡鍦ㄥ悓涓鍙版満鍣ㄤ笉鍚岀殑mongodb榪涚▼浜х敓浜唎bjectid涓嶅啿紿侊紝鎺ヤ笅鏉ョ殑0936涓や綅灝辨槸浜х敓objectid鐨勮繘紼嬫爣璇嗙銆?br />
increment
鍓嶉潰鐨勪節涓瓧鑺傛槸淇濊瘉浜嗕竴縐掑唴涓嶅悓鏈哄櫒涓嶅悓榪涚▼鐢熸垚objectid涓嶅啿紿侊紝榪欏悗闈㈢殑涓変釜瀛楄妭a8b817錛屾槸涓涓嚜鍔ㄥ鍔犵殑璁℃暟鍣紝鐢ㄦ潵紜繚鍦ㄥ悓涓縐掑唴浜х敓鐨刼bjectid涔熶笉浼氬彂鐜板啿紿侊紝鍏佽256鐨?嬈℃柟絳変簬16777216鏉¤褰曠殑鍞竴鎬с?/div>
瀹㈡埛绔敓鎴?/strong>
mongodb浜х敓objectid榪樻湁涓涓洿澶х殑浼樺娍錛屽氨鏄痬ongodb鍙互閫氳繃鑷韓鐨勬湇鍔℃潵浜х敓objectid錛屼篃鍙互閫氳繃瀹㈡埛绔殑椹卞姩紼嬪簭鏉ヤ駭鐢燂紝濡傛灉浣犱粩緇嗙湅鏂囨。浣犱細鎰熷徆錛宮ongodb鐨勮璁℃棤澶勪笉鍦ㄧ殑浣?br />
鐢ㄧ┖闂存崲鏃墮棿鐨勬濇兂錛屾瘮杈僶bjectid鏄交閲忕駭錛屼絾鏈嶅姟绔駭鐢熶篃蹇呴』寮閿鏃墮棿錛屾墍浠ヨ兘浠庢湇鍔″櫒杞Щ鍒板鎴風椹卞姩紼嬪簭瀹屾垚鐨勫氨灝介噺鐨勮漿縐伙紝蹇呴』灝嗕簨鍔℃墧緇欏鎴風鏉ュ畬鎴愶紝鍑忎綆鏈嶅姟绔殑寮閿錛屽彟榪樻湁涓鐐瑰師鍥犲氨鏄墿灞曞簲鐢ㄥ眰姣旀墿灞曟暟鎹簱灞傝鍙橀噺寰楀銆?br />
濂藉惂錛屾棦鐒舵垜浠簡瑙e埌鎴戜滑鐨勭▼搴忎駭鐢無bjectid鏄湪瀹㈡埛绔畬鎴愶紝閭e啀緇х畫錛岃繘涓姝ヤ簡瑙o紝鎵撳紑mongodb java driver婧愮爜錛屾棤婧愮爜鍙互鍒癿ongodb瀹樼綉榪涜涓嬭澆錛屼笅闈㈡憳褰曢儴鍒嗕唬鐮?br />
public class ObjectId implements Comparable<ObjectId> , java.io.Serializable {

    
final int _time;
    
final int _machine;
    
final int _inc;

    
public ObjectId( byte[] b ){
        
if ( b.length != 12 )
            
throw new IllegalArgumentException( "need 12 bytes" );
        ByteBuffer bb 
= ByteBuffer.wrap( b );
        _time 
= bb.getInt();
        _machine 
= bb.getInt();
        _inc 
= bb.getInt();
        _new 
= false;
    }
    
    
public ObjectId( int time , int machine , int inc ){
        _time 
= time;
        _machine 
= machine;
        _inc 
= inc;
        _new 
= false;
    }
    
    
public ObjectId(){
        _time 
= (int) (System.currentTimeMillis() / 1000);
        _machine 
= _genmachine;
        _inc 
= _nextInc.getAndIncrement();
        _new 
= true;
    }


錛堝畬鏁翠唬鐮佽鏌ョ湅婧愮爜錛?/span>

榪欓噷鍙互鍙戠幇ObjectId鐨勬瀯寤哄彲浠ユ湁澶氱鏂瑰紡錛屽彲浠ョ敱鑷繁鍒跺畾瀛楄妭錛屼篃鍙互鎸囧畾鏃墮棿錛屾満鍣ㄧ爜鍜岃嚜澧炲鹼紝榪欓噷閲嶇偣鐪嬬湅椹卞姩紼嬪簭榛樿鐨勬瀯寤猴紝涔熷氨鏄痯ublic ObjectId()
鍙互鐪嬪埌objectid涓昏鐢盻time _machine _inc 鎵緇勬垚錛屽叾涓?_time鐩存帴鐢?System.currentTimeMillis() / 1000)璁$畻鍑烘墍璋撶殑鏃墮棿鎴籌紝榪欓噷寰堢畝鍗曪紝鎺ヤ笅鏉ユ槸閲嶇偣錛屼富瑕佺湅鐪?strong>鏈哄櫒鐮佸拰榪涚▼鐮?/strong>鐨勬瀯寤?/div>

 private static final int _genmachine;
    
static {

        
try {
            final int machinePiece;//鏈哄櫒鐮佸潡
            {
                StringBuilder sb 
= new StringBuilder();
                Enumeration
<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();//NetworkInterface姝ょ被琛ㄧず涓涓敱鍚嶇О鍜屽垎閰嶇粰姝ゆ帴鍙g殑 IP 鍦板潃鍒楄〃緇勬垚鐨勭綉緇滄帴鍙o紝瀹冪敤浜庢爣璇嗗皢澶氭挱緇勫姞鍏ョ殑鏈湴鎺ュ彛錛岃繖閲岄氳繃NetworkInterface姝ゆ満鍣ㄤ笂鎵鏈夌殑鎺ュ彛
                while ( e.hasMoreElements() ){
                    NetworkInterface ni 
= e.nextElement();
                    sb.append( ni.toString() );
                }
                machinePiece 
= sb.toString().hashCode() << 16//灝嗗緱鍒版墍鏈夋帴鍙g殑瀛楃涓茶繘琛屽彇鏁e垪鍊?/span>
                LOGGER.fine( "machine piece post: " + Integer.toHexString( machinePiece ) );
            }

            final int processPiece;//榪涚▼鍧?/span>
            {
                
int processId = new java.util.Random().nextInt();
                
try {
                    processId 
= java.lang.management.ManagementFactory.getRuntimeMXBean().getName().hashCode();//RuntimeMXBean鏄疛ava铏氭嫙鏈虹殑榪愯鏃剁郴緇熺殑綆$悊鎺ュ彛錛岃繖閲屾槸榪斿洖琛ㄧず姝e湪榪愯鐨?nbsp;Java 铏氭嫙鏈虹殑鍚嶇О錛屽茍榪涜鍙栨暎鍒楀箋?/span>
                }
                
catch ( Throwable t ){
                }

                ClassLoader loader 
= ObjectId.class.getClassLoader();
                
int loaderId = loader != null ? System.identityHashCode(loader) : 0;

                StringBuilder sb 
= new StringBuilder();
                sb.append(Integer.toHexString(processId));
                sb.append(Integer.toHexString(loaderId));
                processPiece 
= sb.toString().hashCode() & 0xFFFF;
                LOGGER.fine( 
"process piece: " + Integer.toHexString( processPiece ) );
            }
            _genmachine 
= machinePiece | processPiece; //鏈鍚庡皢鏈哄櫒鐮佸潡鐨勬暎鍒楀間笌榪涚▼鍧楃殑鏁e垪鍊艱繘琛屼綅鎴栬繍綆楋紝寰楀埌 _genmachine 
            LOGGER.fine( "machine : " + Integer.toHexString( _genmachine ) );
        }
        
catch ( java.io.IOException ioe ){
            
throw new RuntimeException( ioe );
        }
    }

 Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();
               while ( e.hasMoreElements() ){
                    NetworkInterface ni = e.nextElement();
                    sb.append( ni.toString() );
                }
 machinePiece = sb.toString().hashCode() << 16;

榪欓噷鐨凬etworkInterface.getNetworkInterfaces();鍙栧緱鐨勬帴鍙i氬父鏄寜鍚嶇О錛堝 "le0"錛夊尯鍒嗙殑錛屽ぇ綰︽槸涓嬮潰鐨勭被鍨?/div>
name:lo (Software Loopback Interface 1) index: 1 addresses:
/0:0:0:0:0:0:0:1;
/127.0.0.1;
name:net0 (WAN Miniport (SSTP)) index: 
2 addresses:
name:net1 (WAN Miniport (IKEv2)) index: 
3 addresses:
name:net2 (WAN Miniport (L2TP)) index: 
4 addresses:
name:net3 (WAN Miniport (PPTP)) index: 
5 addresses:
name:ppp0 (WAN Miniport (PPPOE)) index: 
6 addresses:

榪欓噷涓轟粈涔堣閲囧彇榪欐牱鏂歸潰榪涜鍙栨暎鍒楀鹼紝鎰熻鏈変簺涓嶅お鐞嗚В錛屽簲璇ョ綉緇滄帴鍙f湰韜浉瀵硅岃█鏄茍涓嶇ǔ瀹氱殑

int processId = new java.util.Random().nextInt();
 try {
        processId = java.lang.management.ManagementFactory.getRuntimeMXBean().getName().hashCode();
 }
 catch ( Throwable t ){
}

RuntimeMXBean鏄疛ava铏氭嫙鏈虹殑榪愯鏃剁郴緇熺殑綆$悊鎺ュ彛錛岃繖閲屾槸榪斿洖琛ㄧず姝e湪榪愯鐨?Java 铏氭嫙鏈虹殑鍚嶇О錛屽茍榪涜鍙栨暎鍒楀鹼紝濡傛灉鍦ㄨ繖榪囩▼涓嚭鐜板紓甯革紝processId 灝嗕互闅忔満鏁扮殑鏂瑰紡緇х畫璁$畻

_genmachine = machinePiece | processPiece;
鏈鍚庡皢鏈哄櫒鐮佸潡鐨勬暎鍒楀間笌榪涚▼鍧楃殑鏁e垪鍊艱繘琛屼綅鎴栬繍綆楋紝褰撶劧榪欓噷鏄崄榪涘埗錛屼綘鎶婅繖閲岀殑鍗佽繘鍒朵笓涓哄崄鍏繘鍒訛紝灝變細鍙戠幇榪欏潡鐨勫煎氨鏄敓浜bjectid涓棿閮ㄥ垎鐨勫鹼紝榪欓噷鐨勬瀯寤鴻窡鏈嶅姟绔殑鏋勫緩鏄湁浜涗笉涓鏍風殑錛屼笉榪囨渶鍩烘湰鐨勬瀯寤哄厓绱犺繕鏄竴鑷寸殑錛屽氨鏄?strong>TimeStamp錛孧achine 錛宲id錛宨ncrement銆?br />
mongodb鐨凮bejctId鐢熶駭鎬濇兂鍦ㄥ緢澶氭柟闈㈡尯鍊煎緱鎴戜滑鍊熼壌鐨勶紝鐗瑰埆鏄湪澶у瀷鍒嗗竷寮忕殑寮鍙戯紝濡備綍鏋勫緩杞婚噺綰х殑鐢熶駭錛屽浣曞皢鐢熶駭鐨勮礋杞借繘琛岃漿縐伙紝濡備綍浠ョ┖闂存崲鍙栨椂闂存彁楂樼敓浜х殑鏈澶т紭鍖栫瓑絳夈?/div>
----------------------------------------

by 闄堜簬鍠?
QQ:34174409
Mail: dongbule@163.com


]]> 主站蜘蛛池模板: 免费永久国产在线视频| 成人毛片18女人毛片免费96| 亚洲AV无码乱码在线观看| 亚洲色大成网站www永久男同| 99久久99久久精品免费看蜜桃| 久久亚洲美女精品国产精品| 99久久国产免费-99久久国产免费| 亚洲精品无码鲁网中文电影| 成人A片产无码免费视频在线观看| 亚洲国产三级在线观看| 亚在线观看免费视频入口| 激情内射亚洲一区二区三区| 成人免费福利视频| 一区二区亚洲精品精华液| 国产精品视_精品国产免费 | 亚洲国产精品久久网午夜| 亚洲三级高清免费| 亚洲AV无码一区二区三区性色| 免费a级毛片18以上观看精品| 亚洲黄片手机免费观看| 亚洲精品色午夜无码专区日韩| 97在线视频免费| 国产人成亚洲第一网站在线播放| 免费日韩在线视频| 伊人免费在线观看| 2020久久精品亚洲热综合一本| 国产午夜免费福利红片| 日韩av无码免费播放| 亚洲人成高清在线播放| 国产一区二区三区在线免费| 国产在线国偷精品免费看| 亚洲精品视频在线观看视频| 热久久精品免费视频| 精品一区二区三区免费视频| 亚洲天堂福利视频| 亚洲第一成人影院| 在线永久看片免费的视频| 香蕉视频免费在线播放| 无码乱人伦一区二区亚洲一| 免费无码不卡视频在线观看| 暖暖免费在线中文日本|