锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV综合色区无码另类小说,亚洲精品福利在线观看,亚洲av无码成人黄网站在线观看http://www.tkk7.com/stevenjohn/category/53002.html閭d簺闈掓槬鐨勫瞾鏈?/description>zh-cnThu, 24 Sep 2015 12:57:26 GMTThu, 24 Sep 2015 12:57:26 GMT60Redis鐨勪笁縐嶅惎鍔ㄦ柟寮?/title><link>http://www.tkk7.com/stevenjohn/archive/2015/09/10/427258.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Thu, 10 Sep 2015 13:02:00 GMT</pubDate><guid>http://www.tkk7.com/stevenjohn/archive/2015/09/10/427258.html</guid><wfw:comment>http://www.tkk7.com/stevenjohn/comments/427258.html</wfw:comment><comments>http://www.tkk7.com/stevenjohn/archive/2015/09/10/427258.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/stevenjohn/comments/commentRss/427258.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/stevenjohn/services/trackbacks/427258.html</trackback:ping><description><![CDATA[絎竴縐嶏細鐩存帴鍚姩<br />瀹夎錛?br /><div>tar zxvf redis-2.8.9.tar.gz</div><div>cd redis-2.8.9</div><div>#鐩存帴make 緙栬瘧</div><div>make</div><div>#鍙嬌鐢╮oot鐢ㄦ埛鎵ц`make install`錛屽皢鍙墽琛屾枃浠舵嫹璐濆埌/usr/local/bin鐩綍涓嬨傝繖鏍峰氨鍙互鐩存帴鏁插悕瀛楄繍琛岀▼搴忎簡銆?/div><div>make install</div><div></div>鍚姩錛?br /><div>#鍔犱笂`&`鍙蜂嬌redis浠ュ悗鍙扮▼搴忔柟寮忚繍琛?/div><div>./redis-server &</div>媯嫻嬶細<br /><div>#媯嫻嬪悗鍙拌繘紼嬫槸鍚﹀瓨鍦?/div><div>ps -ef |grep redis</div><div></div><div>#媯嫻?379绔彛鏄惁鍦ㄧ洃鍚?/div><div>netstat -lntp | grep 6379</div><div></div><div>#浣跨敤`redis-cli`瀹㈡埛绔嫻嬭繛鎺ユ槸鍚︽甯?/div><div>./redis-cli</div><div>127.0.0.1:6379> keys *</div><div>(empty list or set)</div><div>127.0.0.1:6379> set key "hello world"</div><div>OK</div><div>127.0.0.1:6379> get key</div><div>"hello world"</div><br />鍋滄錛?br /><div>#浣跨敤瀹㈡埛绔?/div><div>redis-cli shutdown</div><div>#鍥犱負Redis鍙互濡ュ杽澶勭悊SIGTERM淇″彿錛屾墍浠ョ洿鎺ill -9涔熸槸鍙互鐨?/div><div>kill -9 PID</div><br /><br />絎簩縐嶏細閫氳繃鎸囧畾閰嶇疆鏂囦歡鍚姩<br /><br /><div>閰嶇疆鏂囦歡</div><div>鍙負redis鏈嶅姟鍚姩鎸囧畾閰嶇疆鏂囦歡錛岄厤緗枃浠?redis.conf 鍦≧edis鏍圭洰褰曚笅銆?/div><div>#淇敼daemonize涓簓es錛屽嵆榛樿浠ュ悗鍙扮▼搴忔柟寮忚繍琛岋紙榪樿寰楀墠闈㈡墜鍔ㄤ嬌鐢?amp;鍙峰己鍒跺悗鍙拌繍琛屽悧錛夈?/div><div>daemonize no</div><div>#鍙慨鏀歸粯璁ょ洃鍚鍙?/div><div>port 6379</div><div>#淇敼鐢熸垚榛樿鏃ュ織鏂囦歡浣嶇疆</div><div>logfile "/home/futeng/logs/redis.log"</div><div>#閰嶇疆鎸佷箙鍖栨枃浠跺瓨鏀句綅緗?/div><div>dir /home/futeng/data/redisData<br /><br /></div><div>鍚姩鏃舵寚瀹氶厤緗枃浠?/div><div>redis-server ./redis.conf</div><div>#濡傛灉鏇存敼浜嗙鍙o紝浣跨敤`redis-cli`瀹㈡埛绔繛鎺ユ椂錛屼篃闇瑕佹寚瀹氱鍙o紝渚嬪錛?/div><div>redis-cli -p 6380<br /></div><div>鍏朵粬鍚仠鍚?鐩存帴鍚姩 鏂瑰紡銆傞厤緗枃浠舵槸闈炲父閲嶈鐨勯厤緗伐鍏鳳紝闅忕潃浣跨敤鐨勯愭笎娣卞叆灝嗘樉寰楀挨涓洪噸瑕侊紝鎺ㄨ崘鍦ㄤ竴寮濮嬪氨浣跨敤閰嶇疆鏂囦歡銆?/div><br /><br /><br />絎笁縐嶏細<br /><div>浣跨敤Redis鍚姩鑴氭湰璁劇疆寮鏈鴻嚜鍚姩</div><div>鍚姩鑴氭湰</div><div></div><div>鎺ㄨ崘鍦ㄧ敓浜х幆澧冧腑浣跨敤鍚姩鑴氭湰鏂瑰紡鍚姩redis鏈嶅姟銆傚惎鍔ㄨ剼鏈?redis_init_script 浣嶄簬浣嶄簬Redis鐨?/utils/ 鐩綍涓嬨?/div><br /><div>#澶ц嚧嫻忚涓嬭鍚姩鑴氭湰錛屽彂鐜皉edis涔犳儻鎬х敤鐩戝惉鐨勭鍙e悕浣滀負閰嶇疆鏂囦歡絳夊懡鍚嶏紝鎴戜滑鍚庨潰涔熼伒寰繖涓害瀹氥?/div><div>#redis鏈嶅姟鍣ㄧ洃鍚殑绔彛</div><div>REDISPORT=6379</div><div>#鏈嶅姟绔墍澶勪綅緗紝鍦╩ake install鍚庨粯璁ゅ瓨鏀句笌`/usr/local/bin/redis-server`錛屽鏋滄湭make install鍒欓渶瑕佷慨鏀硅璺緞錛屼笅鍚屻?/div><div>EXEC=/usr/local/bin/redis-server</div><div>#瀹㈡埛绔綅緗?/div><div>CLIEXEC=/usr/local/bin/redis-cli</div><div>#Redis鐨凱ID鏂囦歡浣嶇疆</div><div>PIDFILE=/var/run/redis_${REDISPORT}.pid</div><div>#閰嶇疆鏂囦歡浣嶇疆錛岄渶瑕佷慨鏀?/div><div>CONF="/etc/redis/${REDISPORT}.conf"</div><br /><div>閰嶇疆鐜</div><div></div><div>1. 鏍規嵁鍚姩鑴氭湰瑕佹眰錛屽皢淇敼濂界殑閰嶇疆鏂囦歡浠ョ鍙d負鍚嶅鍒朵竴浠藉埌鎸囧畾鐩綍銆傞渶浣跨敤root鐢ㄦ埛銆?/div><div>mkdir /etc/redis</div><div>cp redis.conf /etc/redis/6379.conf</div><div> 2. 灝嗗惎鍔ㄨ剼鏈鍒跺埌/etc/init.d鐩綍涓嬶紝鏈緥灝嗗惎鍔ㄨ剼鏈懡鍚嶄負redisd錛堥氬父閮戒互d緇撳熬琛ㄧず鏄悗鍙拌嚜鍚姩鏈嶅姟錛夈?/div><div>cp redis_init_script /etc/init.d/redisd</div><br /><div> 3.  璁劇疆涓哄紑鏈鴻嚜鍚姩</div><div></div><div>姝ゅ鐩存帴閰嶇疆寮鍚嚜鍚姩 chkconfig redisd on 灝嗘姤閿欒錛?service redisd does not support chkconfig </div><div>鍙傜収 姝ょ瘒鏂囩珷 錛屽湪鍚姩鑴氭湰寮澶存坊鍔犲涓嬩袱琛屾敞閲婁互淇敼鍏惰繍琛岀駭鍒細</div><div>#!/bin/sh</div><div># chkconfig:   2345 90 10</div><div># description:  Redis is a persistent key-value database</div><div>#</div><div> 鍐嶈緗嵆鍙垚鍔熴?/div><br /><br /><div>#璁劇疆涓哄紑鏈鴻嚜鍚姩鏈嶅姟鍣?/div><div>chkconfig redisd on</div><div>#鎵撳紑鏈嶅姟</div><div>service redisd start</div><div>#鍏抽棴鏈嶅姟</div><div>service redisd stop</div><br /><br /><div>http://www.tuicool.com/articles/aQbQ3u</div><br /><br /><br /><br /><br /><br /><br /><img src ="http://www.tkk7.com/stevenjohn/aggbug/427258.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/stevenjohn/" target="_blank">abin</a> 2015-09-10 21:02 <a href="http://www.tkk7.com/stevenjohn/archive/2015/09/10/427258.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>redis鍜宮emcached姣旇緝http://www.tkk7.com/stevenjohn/archive/2015/04/05/424127.htmlabinabinSat, 04 Apr 2015 21:45:00 GMThttp://www.tkk7.com/stevenjohn/archive/2015/04/05/424127.htmlhttp://www.tkk7.com/stevenjohn/comments/424127.htmlhttp://www.tkk7.com/stevenjohn/archive/2015/04/05/424127.html#Feedback0http://www.tkk7.com/stevenjohn/comments/commentRss/424127.htmlhttp://www.tkk7.com/stevenjohn/services/trackbacks/424127.html
    鐢變簬Redis鍙嬌鐢ㄥ崟鏍革紝鑰孧emcached鍙互浣跨敤澶氭牳錛屾墍浠ュ鉤鍧囨瘡涓涓牳涓奟edis鍦ㄥ瓨鍌ㄥ皬鏁版嵁鏃舵瘮Memcached鎬ц兘鏇撮珮銆傝屽湪100k浠ヤ笂鐨勬暟鎹腑錛孧emcached鎬ц兘瑕侀珮浜嶳edis錛岃櫧鐒禦edis鏈榪戜篃鍦ㄥ瓨鍌ㄥぇ鏁版嵁鐨勬ц兘涓婅繘琛屼紭鍖栵紝浣嗘槸姣旇搗 Memcached錛岃繕鏄◢鏈夐婅壊銆?br />

鍥犱負 Redis 鐨勬搷浣滈兘闈炲父蹇?#8212;—瀹冪殑鏁版嵁鍏ㄩ儴鍦ㄥ唴瀛橀噷錛屽畬鍏ㄤ笉闇瑕佽闂鐩樸傝嚦浜庡茍鍙戯紝Redis 浣跨敤澶氳礬 I/O 澶嶇敤鎶鏈紝鏈韓鐨勫茍鍙戞晥鐜囦笉鎴愰棶棰樸?/p>

褰撶劧錛屽崟涓?Redis 榪涚▼娌″姙娉曚嬌鐢ㄥ鏍革紙浠諱竴鏃跺埢鍙兘璺戝湪涓涓?CPU 鏍稿績涓婏級錛屼絾鏄畠鏈潵灝變笉鏄潪甯歌綆楀瘑闆嗗瀷鐨勬湇鍔°傚鏋滃崟鏍告ц兘涓嶅鐢紝鍙互澶氬紑鍑犱釜榪涚▼銆?/p>

Redis 鍗曠嚎紼?澶氳礬澶嶇敤io妯″瀷

銆?div>2銆佸唴瀛樹嬌鐢ㄦ晥鐜囧姣旓細
    浣跨敤綆鍗曠殑key-value瀛樺偍鐨勮瘽錛孧emcached鐨勫唴瀛樺埄鐢ㄧ巼鏇撮珮錛岃屽鏋淩edis閲囩敤hash緇撴瀯鏉ュ仛key-value瀛樺偍錛岀敱浜庡叾緇勫悎寮忕殑鍘嬬緝錛屽叾鍐呭瓨鍒╃敤鐜囦細楂樹簬Memcached銆?/div>
3銆佹暟鎹被鍨嬶細
    Redis鐩告瘮Memcached鏉ヨ錛屾嫢鏈夋洿澶氱殑鏁版嵁緇撴瀯鍜屽茍鏀寔鏇翠赴瀵岀殑鏁版嵁鎿嶄綔錛岄氬父鍦∕emcached 閲岋紝浣犻渶瑕佸皢鏁版嵁鎷垮埌瀹㈡埛绔潵榪涜綾諱技鐨勪慨鏀瑰啀set鍥炲幓銆傝繖澶уぇ澧炲姞浜嗙綉緇淚O鐨勬鏁板拰鏁版嵁浣撶Н銆傚湪Redis涓紝榪欎簺澶嶆潅鐨勬搷浣滈氬父鍜屼竴鑸殑 GET/SET涓鏍烽珮鏁堛傛墍浠ワ紝濡傛灉闇瑕佺紦瀛樿兘澶熸敮鎸佹洿澶嶆潅鐨勭粨鏋勫拰鎿嶄綔錛岄偅涔圧edis浼氭槸涓嶉敊鐨勯夋嫨銆?/div>
4銆佸畨鍏ㄦ満鍒?br />    memcached閲囩敤cas鏈哄埗錛岃宺edis鏈変簨鍔℃満鍒躲?br />5銆佷簨浠舵ā鍨?br />    memcached閲囩敤浜唋ibevent浜嬩歡妯″瀷錛屽綰跨▼妯″瀷鍙互鍙戞尌澶氭牳浣滅敤錛孯edis瀹炵幇浜嗚嚜宸辯殑涓濂楀拰libevent綾諱技鐨勪簨浠墮┍鍔ㄦ満鍒訛紝涓よ呴兘閲囩敤浜唀poll閫氫俊妯″瀷鍜岄潪闃誨鏈哄埗銆?p>    epoll鏄湪2.6鍐呮牳涓彁鍑虹殑錛屾槸涔嬪墠鐨剆elect鍜宲oll鐨勫寮虹増鏈傜浉瀵逛簬select鍜宲oll鏉ヨ錛宔poll鏇村姞鐏墊椿錛屾病鏈夋弿榪扮闄愬埗銆俥poll浣跨敤涓涓枃浠舵弿榪扮綆$悊澶氫釜鎻忚堪絎︼紝灝嗙敤鎴峰叧緋葷殑鏂囦歡鎻忚堪絎︾殑浜嬩歡瀛樻斁鍒板唴鏍哥殑涓涓簨浠惰〃涓紝榪欐牱鍦ㄧ敤鎴風┖闂村拰鍐呮牳絀洪棿鐨刢opy鍙渶涓嬈°?/p>
 鏈鍚庤璁?涓轟粈涔坋poll浼氭瘮select楂樻晥錛屼富瑕佷粠涓夋柟闈㈡潵榪涜璁鴻堪銆?
        錛?錛塭lect瀵規弿榪扮鐘舵佺殑鏀瑰彉鏄氳繃杞鏉ヨ繘琛屾煡鎵劇殑錛涜宔poll鏄綋鎻忚堪絎︾姸鎬佸彂鐢熸敼鍙樻椂涓誨姩榪涜閫氱煡鍐呮牳錛岃繖灝辨槸鎵璋撶殑Reactor浜嬩歡澶勭悊鏈哄埗銆傚彲浠ョ敤“濂借幈鍧炲師鍒?#8221;榪涜鎻忚堪錛氫笉瑕佹墦鐢佃瘽緇欐垜浠紝鎴戜滑浼氭墦鐢佃瘽閫氱煡浣犮傜浉姣斾箣涓嬶紝select鐨勬満鍒跺氨濂芥瘮闈㈣瘯緇撴潫鍚庝笉鍋滅粰闈㈣瘯瀹樻墦鐢佃瘽璇㈤棶闈㈣瘯緇撴灉銆傛晥鐜囧楂樺浣庯紝鍙涓 鏂戙?
        
       錛?錛塻elect鐨勬枃浠舵弿榪扮鏄嬌鐢ㄩ摼琛ㄨ繘琛岀粍緇囩殑錛涜宔poll鏄嬌鐢ㄧ孩榛戞爲榪欎竴楂樻晥鏁版嵁緇撴瀯緇勭粐鐨勩?
        
       錛?錛塻elect浠庡唴鏍稿埌鐢ㄦ埛絀洪棿浼犻掓枃浠舵弿榪扮涓婂彂閫佺殑淇℃伅鏄嬌鐢ㄥ唴瀛樺鍒剁殑鏂瑰紡榪涜鐨勶紱鑰宔poll鏄噰鐢ㄥ叡浜唴瀛樼殑鏂瑰紡銆? 
6銆佸唴瀛樼鐞嗘柟闈?/div>
銆銆Memcached浣跨敤棰勫垎閰嶇殑鍐呭瓨姹犵殑鏂瑰紡錛屼嬌鐢╯lab鍜屽ぇ灝忎笉鍚岀殑chunk鏉ョ鐞嗗唴瀛橈紝Item鏍規嵁澶у皬閫夋嫨鍚堥傜殑chunk瀛樺偍錛屽唴瀛樻睜鐨勬柟寮忓彲浠ョ渷鍘葷敵璇?閲婃斁鍐呭瓨鐨勫紑閿錛屽茍涓旇兘鍑忓皬鍐呭瓨紕庣墖浜х敓錛屼絾榪欑鏂瑰紡涔熶細甯︽潵涓瀹氱▼搴︿笂鐨勭┖闂存氮璐癸紝騫朵笖鍦ㄥ唴瀛樹粛鐒舵湁寰堝ぇ絀洪棿鏃訛紝鏂扮殑鏁版嵁涔熷彲鑳戒細琚墧闄わ紝鍘熷洜鍙互鍙傝僒imyang鐨勬枃绔狅細http://timyang.net/data/Memcached-lru-evictions/
銆銆Redis浣跨敤鐜板満鐢寵鍐呭瓨鐨勬柟寮忔潵瀛樺偍鏁版嵁錛屽茍涓斿緢灝戜嬌鐢╢ree-list絳夋柟寮忔潵浼樺寲鍐呭瓨鍒嗛厤錛屼細鍦ㄤ竴瀹氱▼搴︿笂瀛樺湪鍐呭瓨紕庣墖錛孯edis璺熸嵁瀛樺偍鍛戒護鍙傛暟錛屼細鎶婂甫榪囨湡鏃墮棿鐨勬暟鎹崟鐙瓨鏀懼湪涓璧鳳紝騫舵妸瀹冧滑縐頒負涓存椂鏁版嵁錛岄潪涓存椂鏁版嵁鏄案榪滀笉浼氳鍓旈櫎鐨勶紝鍗充究鐗╃悊鍐呭瓨涓嶅錛屽鑷磗wap涔熶笉浼氬墧闄や換浣曢潪涓存椂鏁版嵁(浣嗕細灝濊瘯鍓旈櫎閮ㄥ垎涓存椂鏁版嵁)錛岃繖鐐逛笂Redis鏇撮傚悎浣滀負瀛樺偍鑰屼笉鏄痗ache銆?br />7銆乺edis騫跺彂

Redis 鏄竴涓珮鎬ц兘鐨刱ey-value鏁版嵁搴撱?redis鐨勫嚭鐜幫紝寰堝ぇ紼嬪害琛ュ伩浜?a >memcached榪欑被keyvalue瀛樺偍鐨勪笉瓚籌紝鍦ㄩ儴 鍒嗗満鍚堝彲浠ュ鍏崇郴鏁版嵁搴撹搗鍒板緢濂界殑琛ュ厖浣滅敤銆傚畠鎻愪緵浜哖ython錛孯uby錛孍rlang錛孭HP瀹㈡埛绔紝浣跨敤寰堟柟渚褲?/p>

鎬ц兘嫻嬭瘯緇撴灉錛?/p>

SET鎿嶄綔姣忕閽?110000 嬈★紝GET鎿嶄綔姣忕閽?81000 嬈★紝鏈嶅姟鍣ㄩ厤緗涓嬶細

Linux 2.6, Xeon X3320 2.5Ghz.

stackoverflow 緗戠珯浣跨敤 Redis 鍋氫負緙撳瓨鏈嶅姟鍣ㄣ?/p>





abin 2015-04-05 05:45 鍙戣〃璇勮
]]>spring redis鏁村悎(涓)http://www.tkk7.com/stevenjohn/archive/2012/11/14/391344.htmlabinabinWed, 14 Nov 2012 15:17:00 GMThttp://www.tkk7.com/stevenjohn/archive/2012/11/14/391344.htmlhttp://www.tkk7.com/stevenjohn/comments/391344.htmlhttp://www.tkk7.com/stevenjohn/archive/2012/11/14/391344.html#Feedback2http://www.tkk7.com/stevenjohn/comments/commentRss/391344.htmlhttp://www.tkk7.com/stevenjohn/services/trackbacks/391344.html
http://www.springsource.org/download/community?project=Spring%2520Data%2520Redis&version=1.0.1.RELEASE


//spring-redis.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm"
xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd  
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd  
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">
<context:annotation-config />
<context:component-scan base-package="com.abin.lee.spring.redis"></context:component-scan>
<context:property-placeholder location="classpath:com/abin/lee/spring/redis/redis.properties" />
<!-- 瀵硅薄姹犻厤緗細 -->
<bean
id="jedisPoolConfig"
class="redis.clients.jedis.JedisPoolConfig">
<property
name="maxActive"
value="${redis.pool.maxActive}" />
<property
name="maxIdle"
value="${redis.pool.maxIdle}" />
<property
name="maxWait"
value="${redis.pool.maxWait}" />
<property
name="testOnBorrow"
value="${redis.pool.testOnBorrow}" />
</bean>
<!-- 宸ュ巶瀹炵幇錛?-->
<bean
id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property
name="hostName"
value="${redis.ip}" />
<property
name="port"
value="${redis.port}" />
<property
name="poolConfig"
ref="jedisPoolConfig" />
</bean>
<!--妯℃澘綾伙細 -->
<bean
class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnectionFactory" />
</beans>






//User.java
package com.abin.lee.spring.redis.pojo;
import java.io.Serializable;
public class User implements Serializable {
/**
*/
private static final long serialVersionUID = 2668307865623183776L;
private String uid;
private String address;
public User() {
super();
}
public User(String uid, String address) {
super();
this.uid = uid;
this.address = address;
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [uid=" + uid + ", address=" + address + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((address == null) ? 0 : address.hashCode());
result = prime * result + ((uid == null) ? 0 : uid.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (address == null) {
if (other.address != null)
return false;
} else if (!address.equals(other.address))
return false;
if (uid == null) {
if (other.uid != null)
return false;
} else if (!uid.equals(other.uid))
return false;
return true;
}
}






//UserDao.java
package com.abin.lee.spring.redis.dao;
import com.abin.lee.spring.redis.pojo.User;
public interface UserDao {
/**
* @param uid
* @param address
*/
void save(User user);
/**
* @param uid
* @return
*/
User read(String uid);
/**
* @param uid
*/
void delete(String uid);
}





//UserDaoImpl.java
package com.abin.lee.spring.redis.dao.impl;
import java.io.Serializable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Repository;
import com.abin.lee.spring.redis.dao.UserDao;
import com.abin.lee.spring.redis.pojo.User;
@Repository("userDao")
public class UserDaoImpl implements UserDao{
@Autowired
private RedisTemplate<Serializable, Serializable> redisTemplate;
@Override
public void save(final User user) {
redisTemplate.execute(new RedisCallback<Object>() {
@Override
public Object doInRedis(RedisConnection connection)
throws DataAccessException {
connection.set(
redisTemplate.getStringSerializer().serialize(
"user.uid." + user.getUid()),
redisTemplate.getStringSerializer().serialize(
user.getAddress()));
return null;
}
});
}
@Override
public User read(final String uid) {
return redisTemplate.execute(new RedisCallback<User>() {
@Override
public User doInRedis(RedisConnection connection)
throws DataAccessException {
byte[] key = redisTemplate.getStringSerializer().serialize(
"user.uid." + uid);
if (connection.exists(key)) {
byte[] value = connection.get(key);
String address = redisTemplate.getStringSerializer()
.deserialize(value);
User user = new User();
user.setAddress(address);
user.setUid(uid);
return user;
}
return null;
}
});
}
@Override
public void delete(final String uid) {
redisTemplate.execute(new RedisCallback<Object>() {
public Object doInRedis(RedisConnection connection) {
connection.del(redisTemplate.getStringSerializer().serialize(
"user.uid." + uid));
return null;
}
});
}
}


//UserDaoTest.java
package com.abin.lee.spring.redis.dao.test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.abin.lee.spring.redis.dao.UserDao;
import com.abin.lee.spring.redis.pojo.User;
public class UserDaoTest {
private ApplicationContext app;
private UserDao userDao;
@Before
public void before() throws Exception {
app = new ClassPathXmlApplicationContext("com/abin/lee/spring/redis/spring-redis.xml");
userDao = (UserDao) app.getBean("userDao");
}
@Test
public void crud() {
// -------------- Create ---------------
String uid = "u123456";
String address1 = "涓婃搗";
User user = new User();
user.setAddress(address1);
user.setUid(uid);
userDao.save(user);
// ---------------Read ---------------
user = userDao.read(uid);
System.out.println("address1="+user.getAddress());
assertEquals(address1, user.getAddress());
// --------------Update ------------
String address2 = "鍖椾含";
user.setAddress(address2);
userDao.save(user);
user = userDao.read(uid);
System.out.println("address2Save="+user.getAddress());
assertEquals(address2, user.getAddress());
// --------------Delete ------------
userDao.delete(uid);
user = userDao.read(uid);
System.out.println("addressdel="+user.getAddress());
assertNull(user);
}
}







abin 2012-11-14 23:17 鍙戣〃璇勮
]]>
Redis鍦╳indows涓嬬殑瀹夎浣跨敤 http://www.tkk7.com/stevenjohn/archive/2012/11/12/391227.htmlabinabinMon, 12 Nov 2012 12:45:00 GMThttp://www.tkk7.com/stevenjohn/archive/2012/11/12/391227.htmlhttp://www.tkk7.com/stevenjohn/comments/391227.htmlhttp://www.tkk7.com/stevenjohn/archive/2012/11/12/391227.html#Feedback0http://www.tkk7.com/stevenjohn/comments/commentRss/391227.htmlhttp://www.tkk7.com/stevenjohn/services/trackbacks/391227.html涓嬭澆鐨剋indows鐗堟湰鏄痳edis-2.0.2錛岃В鍘嬪埌D鐩樹笅錛?/p>

D:\redis-2.0.2


榪涘埌璇ョ洰褰曚笅錛屾湁涓嬪垪鏂囦歡錛?/p>

銆redis-server.exe錛氭湇鍔$▼搴?/p>

   redis-check-dump.exe錛氭湰鍦版暟鎹簱媯鏌?/p>

   redis-check-aof.exe錛氭洿鏂版棩蹇楁鏌?/p>

   redis-benchmark.exe錛氭ц兘嫻嬭瘯錛岀敤浠ユā鎷熷悓鏃剁敱N涓鎴風鍙戦丮涓?SETs/GETs 鏌ヨ (綾諱技浜? Apache 鐨刟b 宸ュ叿).

鍚姩Redis鏈嶅姟錛坈onf鏂囦歡鎸囧畾閰嶇疆鏂囦歡錛岃嫢涓嶆寚瀹氬垯榛樿錛夛細

D:\redis-2.0.2>redis-server.exe redis.conf



鍚姩cmd紿楀彛瑕佷竴鐩村紑鐫錛屽叧闂悗鍒橰edis鏈嶅姟鍏抽棴銆?/p>

榪欐椂鏈嶅姟寮鍚潃錛屽彟澶栧紑涓涓獥鍙h繘琛岋紝璁劇疆瀹㈡埛绔細

D:\redis-2.0.2>redis-cli.exe -h 202.117.16.133 -p 6379

鐒跺悗鍙互寮濮嬬帺浜嗭細



--------------------------------------------------------------------------------------------------------------------------------

 

Redis鎻愪緵浜嗗縐嶈璦鐨勫鎴風錛屽寘鎷琂ava錛孋++錛宲ython銆?/p>

 

Redis瀹樼綉涓婃帹鑽愮殑Java鍖呮槸Jedis錛屽幓涓嬭澆Jedis錛屽湪Java欏圭洰涓鍏edis鍖咃紝寮濮嬪彂鐜版湁閿欒錛屾槸鍥犱負緙哄皯org.apache.commons榪欎釜鍖咃紝

鍘葷綉涓婃壘姝ゅ寘錛屼笅杞藉鍏ュ悗錛孞edis灝辨病鏈夐敊璇簡銆?/p>


鍙互寮濮嬩簡錛岀敤Jedis鏉ユ搷浣淩edis錛?br />

package test;
import redis.clients.jedis.Jedis;
public class Client {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Jedis jj = new  Jedis("localhost");
        jj.set("key1", "I am value 1");
        String ss = jj.get("key1");
        System.out.println(ss);
    }
    
}



abin 2012-11-12 20:45 鍙戣〃璇勮
]]>
windows涓媟edis瀹夎(涓)http://www.tkk7.com/stevenjohn/archive/2012/11/12/391226.htmlabinabinMon, 12 Nov 2012 12:44:00 GMThttp://www.tkk7.com/stevenjohn/archive/2012/11/12/391226.htmlhttp://www.tkk7.com/stevenjohn/comments/391226.htmlhttp://www.tkk7.com/stevenjohn/archive/2012/11/12/391226.html#Feedback0http://www.tkk7.com/stevenjohn/comments/commentRss/391226.htmlhttp://www.tkk7.com/stevenjohn/services/trackbacks/391226.html

棣栧厛涓嬭澆涓涓猺edis鐨勫畨瑁呭寘:

windows:http://code.google.com/p/servicestack/wiki/RedisWindowsDownload

linux:http://code.google.com/p/redis/downloads/list

redis-2.0.0鐗堟湰: redis-2.4.5-win32-win64.zip (506)

瑙e帇鍚?寰楀埌涓涓猺edis鐨勬枃浠跺す,鎵撳紑鏂囦歡澶瑰緱鍒板涓嬪浘鐨勪竴浜涙枃浠?

瀹夎鍖呬腑鏄笉鎻愪緵redis.conf鐨?鍏充簬閰嶇疆鍙互鍒扮綉涓婃悳绱竴涓?鎴栬呬粠榪欓噷鐩存帴涓嬭澆:

鍚姩鍚庣殑鏁堟灉鍥懼涓?

褰撳墠鏈嶅姟绔病鏈?涓鎴風榪炴帴,鍥犳鏄劇ず0 clients,

鐜板湪鍒嗗埆鍚姩涓や釜瀹㈡埛绔?濡備笅鍥?

榪欓噷鍊煎緱娉ㄦ剰鐨勬槸:褰撲綘鐧誨綍redis-cli.exe鐨勬椂鍊?鏈嶅姟绔茍娌℃湁媯嫻嬪埌瀹㈡埛绔殑瀛樺湪,涔熷氨鏄湪瀹㈡埛绔墽琛屼簡絎竴嬈℃搷浣滀互鍚?鏈嶅姟绔墠媯嫻嬪埌榪欎釜鐘舵?



















abin 2012-11-12 20:44 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 欧洲人免费视频网站在线| 特级毛片免费观看视频| 亚洲免费在线视频播放| 婷婷亚洲久悠悠色悠在线播放| 丝袜足液精子免费视频| 亚洲综合无码AV一区二区| 成在线人视频免费视频| 久久青草亚洲AV无码麻豆| 久久青草91免费观看| 亚洲欧洲日本天天堂在线观看| 久久精品免费一区二区| 亚洲不卡影院午夜在线观看| 成人毛片18女人毛片免费96| 亚洲AV综合永久无码精品天堂| 国产一区二区三区在线免费观看| 久香草视频在线观看免费| 黑人大战亚洲人精品一区| 青青青国产手机频在线免费观看| 亚洲黄色网址在线观看| 全免费毛片在线播放| 亚洲综合色丁香婷婷六月图片| 免费国产怡红院在线观看| 三级黄色在线免费观看| 久久综合亚洲色一区二区三区| 嫩草视频在线免费观看| 永久免费无码网站在线观看个| 亚洲AV综合色区无码另类小说 | 亚洲色偷拍区另类无码专区| 久久九九久精品国产免费直播| 亚洲丁香色婷婷综合欲色啪| 成人免费毛片视频| 国产乱妇高清无乱码免费| 亚洲精品日韩中文字幕久久久| 国外成人免费高清激情视频| 中文字幕免费在线看| 亚洲啪啪免费视频| 亚洲日韩在线中文字幕第一页| 最近中文字幕mv免费高清在线| 精品在线视频免费| 亚洲精品第一国产综合精品| 亚洲 无码 在线 专区|