codis - redis闆嗙兢瑙e喅鏂规

codis -- redis闆嗙兢瑙e喅鏂规
涓€銆佺嚎涓妑edis闆嗙兢鏋舵瀯鍥?/div>

codis  - redis闆嗙兢瑙e喅鏂规
haproxy锛氬client绔紙qb锛寀c绛夛級鍋氳浆鍙戝拰璐熻浇鍧囪 
codis-config锛氬codis杩涜绠$悊锛屽苟涓旀彁渚沝ashboard
codis-proxy锛歳edis鐨勪唬鐞嗭紝瀹炵幇浜唕edis鍗忚
codis锛氬嵆redis鏈嶅姟锛屽熀浜巖edis2.8.13寮€鍙?/div>
zookeeper锛氱鐞嗗拰鍗忚皟codis-proxy鑺傜偣淇℃伅
codis-ha锛氱洃鎺odis鏈嶅姟锛屽苟鍦╟odis鏈嶅姟寮傚父閫€鍑烘椂鍙婃椂灏嗘湇鍔℃媺璧?/div>
codis-proxy-ha锛氱洃鎺odis-proxy鏈嶅姟锛屽苟鍦╟odis-proxy鏈嶅姟寮傚父閫€鍑烘椂鍙婃椂灏嗘湇鍔℃媺璧?/div>
绾夸笂16鍙板疄浣撴満锛屾瘡鍙板潎閮ㄧ讲浜哻odis锛屽叾涓璫odis-proxy鍜寊ookeeper銆乧odis-config銆乭aproxy鍒嗗紑閮ㄧ讲銆?/div>
浜屻€乧odis闆嗙兢鐨勬€ц兘
鍗曞彴鍘嬪姏鏈哄櫒鏂藉帇鏈€楂樺彲浠ヨ揪鍒?0w OPS銆?/div>
涓夈€乧odis闆嗙兢鐨勯珮鍙敤
鎸佺画浠?3w OPS鐨勫帇鍔涘帇娴?*24 灏忔椂锛屾€荤殑key鎿嶄綔杈惧埌900浜匡紝鏈懡涓殑500涓紝鍛戒腑鐜囪秴杩?9.99%銆?/div>
鍘嬫祴鏈熼棿锛宑odis-proxy鍑虹幇10娆″紓甯搁€€鍑猴紝codis娌℃湁鍑虹幇浠讳綍寮傚父銆?/div>
===================================================================================

绾跨綉澶ч儴鍒唕edis鍒囨崲鍒颁簡codis闆嗙兢

浣嗘槸鍦ㄤ娇鐢ㄨ繃绋嬩腑鏈変竴浜涢檺鍒惰姹傦紝璇峰ぇ瀹跺叧娉紝妫€鏌ヨ嚜宸辩殑浠g爜鏄惁鏈夐棶棰樸€?/div>
绾夸笂閮ㄥ垎搴旂敤宸茬粡鍒囧埌codis锛坮edis锛夐泦缇わ紝鐢变簬codis鐨勭壒鎬э紝鏈変互涓嬪嚑鐐硅甯繖鍦ㄥ紑鍙戝洟闃熷唴鏅強锛?/div>
1銆佸悇涓簲鐢ㄦ墍浣跨敤鐨刱ey闇€瑕佸懡鍚嶈鑼冿紝閬垮厤key鍐茬獊鐨勬儏鍐碉紝鍥犱负瀵逛簬绾夸笂鎵€鏈夌殑搴旂敤鏉ヨ锛岄兘浣跨敤鐨勬槸涓€涓猺edis
鍛藉悕瑙勮寖锛?a target="_blank" href="http://wiki.qbao.com/pages/viewpage.action?pageId=10716303" style="line-height: 1.5;">http://x.qbao.com/pages/viewpage.action?pageId=10716303
2銆佸彧鑳戒娇鐢╠b0 鐨勫簱锛屽叾瀹冨簱鍧囦笉鏀寔
3銆佽€冭檻codis鏈韩璁捐锛屽簲灏介噺閬垮厤鍑虹幇 聽key灏忥紝浣嗘槸value鐗瑰埆澶э紙>1M锛?/div>
4銆侀儴鍒嗗懡浠や笉鏀寔锛屼笉鏀寔鐨勫懡浠ゅ垪琛ㄥ涓嬶細https://github.com/wandoulabs/codis/blob/master/doc/unsupported_cmds.md
Command Type Command Name
Keys KEYS
MIGRATE
MOVE
OBJECT
RANDOMKEY
RENAME
RENAMENX
SCAN
Strings BITOP
MSETNX
Lists BLPOP
BRPOP
BRPOPLPUSH
Pub/Sub PSUBSCRIBE
PUBLISH
PUNSUBSCRIBE
SUBSCRIBE
UNSUBSCRIBE
Transactions DISCARD
EXEC
MULTI
UNWATCH
WATCH
Scripting SCRIPT
Server BGREWRITEAOF
BGSAVE
CLIENT
CONFIG
DBSIZE
DEBUG
FLUSHALL
FLUSHDB
LASTSAVE
MONITOR
RESTORE
SAVE
SHUTDOWN
SLAVEOF
SLOWLOG
SYNC
TIME
Codis Slot SLOTSCHECK
SLOTSDEL
SLOTSINFO
SLOTSMGRTONE
SLOTSMGRTSLOT
SLOTSMGRTTAGONE
SLOTSMGRTTAGSLOT
===================================================================
Redis key鐨勫懡鍚嶈鑼?/div>

姒傝堪锛?/h1>

涓轰簡闄嶄綆鍚勭郴缁熺殑鑰﹀悎搴︼紝鍚庨潰redis鏍规嵁搴旂敤鍩熷悕杩涜鍒嗗尯瀛樺偍锛屽悇搴旂敤浣跨敤鍚勮嚜鐨剅edis銆傝€佺殑redis淇濈暀锛屽吋瀹硅€佺殑搴旂敤绋嬪簭銆?/p>

鍛藉悕瑙勮寖锛氣€滃煙:涓氬姟:鍔熻兘:鐗规€р€?/h1>
鈥滃煙:涓氬姟鈥濇槸蹇呴』鏈夌殑锛屸€滃姛鑳?鐗规€р€濇槸鎵╁睍瀛楁

浠ュ疂绛归」鐩负渚嬶細瀛樺偍鍟嗗搧id涓?鐨勪拱5浜ゆ槗鏁版嵁锛宬ey涓衡€渂aochou:trade:buy5:1鈥濓紱鐢ㄦ埛杩樺湪濮旀墭涓殑鍗曞瓙鏁伴噺锛宬ey涓郝犫€渂aochou:trade:pending:2015-01-26_102661_1鈥?/p>

鍚勫簲鐢ㄥ彲浠ユ彁渚涗竴涓懡鍚嶇殑甯姪绫伙紝鏍稿績鏂规硶濡備笅锛?/h2>

//key鍒嗛殧绗?/p>

public final static String聽REDIS_NAMESPACE_SEPARATOR = ":";

//闈欐€乲ey閮ㄥ垎

public final static String REDIS_KEY_USER="user:register:id";

//鍔ㄦ€乲ey鐢熸垚鏂规硶

@Override
public String generateCacheKey(String namespace, Object... keys) {
聽 聽 聽 聽 StringBuffer out=new StringBuffer();
聽 聽 聽 聽 out.append(namespace);
聽 聽 聽 聽 out.append(REDIS_NAMESPACE_SEPARATOR);
聽 聽 聽 聽 for(int i=0;i<keys.length;i++){
聽 聽 聽 聽 聽 聽 聽 聽 out.append(keys[i]);
聽 聽 聽 聽 聽 聽 聽 聽 if(i!=keys.length-1){聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 out.append("_鈥滐級锛?br>聽 聽 聽 聽 聽 聽 聽 }
聽 聽 聽 聽 }
聽 聽 聽 聽 return out.toString();
}

渚嬪锛氣€渂aochou:trade:pending:2015-01-26_102661_1鈥濓紝鈥渂aochou:trade:pending鈥滃嵆涓簄amespace锛屸€?015-01-26_102661_1鈥滀负鈥滄棩鏈焈鐢ㄦ埛id_鍟嗗搧id鈥濓紝鏁翠釜key鎻忚堪浜嗏€滅敤鎴锋煇澶╂煇涓晢鍝佺殑姝e湪濮旀墭涓殑鏁伴噺鈥澛?/p>

鐩墠鏁寸悊鐨勪笟鍔″簲鐢細

鍚勪笟鍔″悗闈㈡彁渚涘崟鐙殑redis

  • 鍚庡彴锛歜ackoffice & 鍓嶅彴www & 鎺ュ彛m

  • gamepay &聽璁㈠崟order 锛堢洰鍓嶆湭鐢╮eds锛?/li>
  • bizorder 锛堝井鍟嗚鍗曪紝鐩墠鐢ㄧ殑qianbao redis锛?/li>
  • 瀹濈锛歜c 聽& bcbo 瀹濈鍚庡彴
  • 鍟嗗搧goods & goodsba
  • im
  • leipai
  • 鐢ㄦ埛user
  • 鐧婚檰passport
  • 鎷嶅崠paimai & pmba 聽鎷嶅崠鍚庡彴
  • qhb 鎶㈢孩鍖?/li>
  • t 聽鏈夌エ & ticketbo 鏈夌エ鍚庡彴
  • tpush 聽鏈夌エ鎺ㄩ€?/li>

鐜板湪鐨勫簲鐢ㄤ腑鏈夊悓涓€redis瀹炰緥涓法搴旂敤浣跨敤鍚屼竴key鐨勬儏鍐碉紝鍚庨潰鍒嗗簲鐢ㄥ瓨鍌ㄤ互鍚庯紝鍧氬喅鏉滅粷姝ゆ儏鍐碉紝鏈夎法搴旂敤浣跨敤鐨勬儏鍐碉紝璇锋彁渚沨ttp鎺ュ彛銆?/strong>

鍚勪笟鍔edis key鏌ヨ鍒楄〃锛?/h1>

鍚勪笟鍔¤嚜宸辨坊鍔狅紝琛ㄥご涓ら」锛氣€渒ey鍚嶇О鈥?鈥渒ey鍚箟鈥濓紝渚嬪锛?/p>

key鍚嶇О
key鍚箟
baochou:trade:buy5:1 瀛樺偍鍟嗗搧id涓?鐨勪拱5浜ゆ槗鏁版嵁
baochou:trade:pending:2015-01-26_102661_1 鐢ㄦ埛鏌愬ぉ鏌愪釜鍟嗗搧鐨勬鍦ㄥ鎵樹腑鐨勬暟閲?/td>
=====================================================
绾夸笂澶ч儴鍒嗙殑搴旂敤鏈嶅姟浣跨敤鐨剅edis鏈嶅姟宸茬粡鍒囨崲鍒颁簡鏂扮殑codis锛堝熀浜巖edis2.8.13寮€鍙戯級闆嗙兢锛堥櫎浜嗘姠绾㈠寘鍜岀鍒版墍鐢ㄧ殑redis娌℃湁杩佺Щ锛夛紝娴嬭瘯鐜涔熼渶瑕佹惌寤虹浉搴旂殑codis鏈嶅姟锛?/span>
閴翠簬codis鐨勪竴浜涚壒鎬э紝澶у鍦ㄦ祴璇曡繃绋嬩腑鏈変簺鍦版柟闇€瑕佹敞鎰忥細
1銆佺嚎涓婂ぇ閮ㄥ垎搴旂敤閮戒娇鐢ㄥ悓涓€codis闆嗙兢锛屾墍浠ュ悇涓簲鐢ㄦā鍧楃殑key鍛藉悕闇€瑕佽鑼冿紝閬垮厤key鍐茬獊鐨勬儏鍐点€?/span>
2銆佸彧鑳戒娇鐢╠b0 鐨勫簱锛屽叾瀹冨簱鍧囦笉鏀寔
3銆侀儴鍒嗗懡浠や笉鏀寔锛屼笉鏀寔鐨勫懡浠ゅ垪琛ㄥ涓嬶細
Command TypeCommand Name
KeysKEYS
MIGRATE
MOVE
OBJECT
RANDOMKEY
RENAME
RENAMENX
SCAN
StringsBITOP
MSETNX
ListsBLPOP
BRPOP
BRPOPLPUSH
Pub/SubPSUBSCRIBE
PUBLISH
PUNSUBSCRIBE
SUBSCRIBE
UNSUBSCRIBE
TransactionsDISCARD
EXEC
MULTI
UNWATCH
WATCH
ScriptingSCRIPT
ServerBGREWRITEAOF
BGSAVE
CLIENT
CONFIG
DBSIZE
DEBUG
FLUSHALL
FLUSHDB
LASTSAVE
MONITOR
RESTORE
SAVE
SHUTDOWN
SLAVEOF
SLOWLOG
SYNC
TIME
Codis SlotSLOTSCHECK
SLOTSDEL
SLOTSINFO
SLOTSMGRTONE
SLOTSMGRTSLOT
SLOTSMGRTTAGONE
SLOTSMGRTTAGSLOT
codis鏈€绠€鐗堟惌寤哄凡缁忔斁鍒扮煡璇嗗簱浜嗭細銆婃渶绠€鐗坈odis锛坮edis锛夋惌寤恒€?/span>
杩愮淮涔熶細鍦ㄩ鍙戝竷鎼缓绠€鏄撶殑codis闆嗙兢鐜銆?/span>
涓€銆亃ookeeper瀹夎锛?/span>
1銆佷笅杞借В鍘?/span>
2銆佸皢conf涓嬬殑zoo_sample.cfg鏀逛负zoo.cfg锛岄厤缃細
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/log
clientPort=2181
server.1=192.168.7.21:2888:3888
娉ㄦ剰锛屽缓data鍜宭og鐩綍
3銆乨ata涓嬫柊寤簃yid鏂囦欢锛屾瘡涓獄ookeeper鍐欏叆涓嶅悓鐨刬d
4銆?/bin/zkSever.sh start鍚姩
浜屻€侀儴缃瞔odis
鍥涖€佹湇鍔″惎鍔紝闆嗙兢鍒濆鍖?/span>
1銆佸惎鍔╠ashboard锛坈odis-config涓婃搷浣滐級
# cat config.ini
zk=192.168.7.21:2181
product=codis-cluster
proxy_id=proxy_1
net_timeout=30
dashboard_addr=0.0.0.0:18087
coordinator=zookeeper
nohup ../bin/codis-config -c config.ini -L ./log/dashboard.log dashboard --addr=:18087 --http-log=./log/requests.log &
2銆佸垵濮嬪寲slots锛坈odis-config涓婃搷浣滐級
../bin/codis-config -c ./config.ini slot init
3銆佸惎鍔╟odis锛堢瓑鍚屼簬redis锛屽熀浜巖edis2.8.13寮€鍙戯紝鍔犲叆浜唖lot鏀寔鍜屽師瀛愮殑鏁版嵁杩佺Щ鎸囦护锛屼笖codis-proxy鍜宑odis-config鍙兘鍜岃繖涓増鏈繘琛屼氦浜掞級(鍦╟odis-server涓婃搷浣?
../bin/codis-server ./redis_conf/6379.conf
4銆佹坊鍔爎edis server group锛堝彲浠ュ湪dashboard涓婃搷浣滐級锛屾瘡涓猤roup鏈€澶氭湁涓€涓猰aster锛屽彲浠ユ湁澶氫釜slave锛堝湪codis-config涓婃搷浣滐級
鍛戒护妯$増锛歝odis-config server add <group_id> <redis_addr> <role>
娣诲姞涓や釜 server group, 姣忎釜 group 鏈変袱涓?redis 瀹炰緥锛実roup鐨刬d鍒嗗埆涓?鍜?锛?redis瀹炰緥涓轰竴涓讳竴浠庛€?/span>
../bin/codis-config -c ./config.ini server add 1 192.168.7.215:6379 master
5銆佽缃瘡涓猻lot鐢遍偅涓猻ever group鏉ユ彁渚涙湇鍔★紙鍙互鍦╠ashboard涓婃搷浣滐級锛岄粯璁lots鍒嗘垚1024浠斤紙0-1023锛夛紙codis-config涓婃搷浣滐級
../bin/codis-config -c ./config.ini slot range-set 0 1023 online
6銆佸惎鍔╟odis-proxy
# cat config.ini
zk=192.168.7.21:2181
product=codis-cluster
proxy_id=proxy_103
net_timeout=30
dashboard_addr=0.0.0.0:18087
coordinator=zookeeper
娉ㄦ剰锛歱roxy_id鍦ㄥ悓涓€涓泦缇ら噷鏄敮涓€鐨?/span>
nohup ../bin/codis-proxy -c ./config.ini -L /var/log/codis/codis-proxy.log --log-level=warn --cpu=8 --addr=0.0.0.0:1900 --http-addr=0.0.0.0:11000 &
proxy鍚姩鍚庨渶瑕乷nline鎵嶅彲瀵瑰鎻愪緵鏈嶅姟锛屽彲浠ュ湪dashboard涓婅繘琛宱nline锛屾垨鑰呯敤鍛戒护杩涜online
../bin/codis-config -c config.ini proxy online proxy_113
鎼缓濂藉悗锛岀幆澧冮噷鐨剅edis.properties鐨勯厤缃敼鎴?codis-proxy鐨刬p锛歝odis-proxy鐨勭鍙o紙1900锛?/span>
example锛?/span>
鏀逛箣鍓嶏細
redis.ip=192.168.7.217
redis.port=6379
鏀规垚鏂扮殑codis锛?/span>
redis.ip=192.168.7.103聽
redis.port=1900
鍙互閫氳繃http://ip:18087/admin 璁块棶codis绠$悊椤甸潰銆?/span>

文章评论

codis  - redis闆嗙兢瑙e喅鏂规
程序员应该关注的一些事儿
codis  - redis闆嗙兢瑙e喅鏂规
科技史上最臭名昭著的13大罪犯
codis  - redis闆嗙兢瑙e喅鏂规
10个调试和排错的小建议
codis  - redis闆嗙兢瑙e喅鏂规
如何区分一个程序员是“老手“还是“新手“?
codis  - redis闆嗙兢瑙e喅鏂规
聊聊HTTPS和SSL/TLS协议
codis  - redis闆嗙兢瑙e喅鏂规
Google伦敦新总部 犹如星级庄园
codis  - redis闆嗙兢瑙e喅鏂规
亲爱的项目经理,我恨你
codis  - redis闆嗙兢瑙e喅鏂规
Web开发人员为什么越来越懒了?
codis  - redis闆嗙兢瑙e喅鏂规
程序员和编码员之间的区别
codis  - redis闆嗙兢瑙e喅鏂规
60个开发者不容错过的免费资源库
codis  - redis闆嗙兢瑙e喅鏂规
2013年美国开发者薪资调查报告
codis  - redis闆嗙兢瑙e喅鏂规
中美印日四国程序员比较
codis  - redis闆嗙兢瑙e喅鏂规
每天工作4小时的程序员
codis  - redis闆嗙兢瑙e喅鏂规
初级 vs 高级开发者 哪个性价比更高?
codis  - redis闆嗙兢瑙e喅鏂规
老美怎么看待阿里赴美上市
codis  - redis闆嗙兢瑙e喅鏂规
十大编程算法助程序员走上高手之路
codis  - redis闆嗙兢瑙e喅鏂规
当下全球最炙手可热的八位少年创业者
codis  - redis闆嗙兢瑙e喅鏂规
团队中“技术大拿”并非越多越好
codis  - redis闆嗙兢瑙e喅鏂规
5款最佳正则表达式编辑调试器
codis  - redis闆嗙兢瑙e喅鏂规
不懂技术不要对懂技术的人说这很容易实现
codis  - redis闆嗙兢瑙e喅鏂规
总结2014中国互联网十大段子
codis  - redis闆嗙兢瑙e喅鏂规
为啥Android手机总会越用越慢?
codis  - redis闆嗙兢瑙e喅鏂规
程序员的一天:一寸光阴一寸金
codis  - redis闆嗙兢瑙e喅鏂规
程序员的样子
codis  - redis闆嗙兢瑙e喅鏂规
程序员最害怕的5件事 你中招了吗?
codis  - redis闆嗙兢瑙e喅鏂规
代码女神横空出世
codis  - redis闆嗙兢瑙e喅鏂规
我跳槽是因为他们的显示器更大
codis  - redis闆嗙兢瑙e喅鏂规
2013年中国软件开发者薪资调查报告
codis  - redis闆嗙兢瑙e喅鏂规
做程序猿的老婆应该注意的一些事情
codis  - redis闆嗙兢瑙e喅鏂规
程序员眼里IE浏览器是什么样的
codis  - redis闆嗙兢瑙e喅鏂规
老程序员的下场
codis  - redis闆嗙兢瑙e喅鏂规
“懒”出效率是程序员的美德
codis  - redis闆嗙兢瑙e喅鏂规
编程语言是女人
codis  - redis闆嗙兢瑙e喅鏂规
要嫁就嫁程序猿—钱多话少死的早
codis  - redis闆嗙兢瑙e喅鏂规
什么才是优秀的用户界面设计
codis  - redis闆嗙兢瑙e喅鏂规
写给自己也写给你 自己到底该何去何从
codis  - redis闆嗙兢瑙e喅鏂规
程序员的鄙视链
codis  - redis闆嗙兢瑙e喅鏂规
那些争议最大的编程观点
codis  - redis闆嗙兢瑙e喅鏂规
Java程序员必看电影
codis  - redis闆嗙兢瑙e喅鏂规
程序猿的崛起——Growth Hacker
codis  - redis闆嗙兢瑙e喅鏂规
程序员必看的十大电影
codis  - redis闆嗙兢瑙e喅鏂规
我是如何打败拖延症的
codis  - redis闆嗙兢瑙e喅鏂规
程序员都该阅读的书
codis  - redis闆嗙兢瑙e喅鏂规
Java 与 .NET 的平台发展之争
codis  - redis闆嗙兢瑙e喅鏂规
程序员周末都喜欢做什么?
codis  - redis闆嗙兢瑙e喅鏂规
看13位CEO、创始人和高管如何提高工作效率
codis  - redis闆嗙兢瑙e喅鏂规
10个帮程序员减压放松的网站
codis  - redis闆嗙兢瑙e喅鏂规
一个程序员的时间管理
codis  - redis闆嗙兢瑙e喅鏂规
如何成为一名黑客
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有