????Redis???????????????KEY-VALUE(???????)??????娲�??????????????????????Redis?????????????????Redis????????????????
?????????
????http://redis.io/download (????Redis????????????http://antirez.com/latest/0??????????????)
?????????
??????redis-2.8.19.tar.gz????????????????锟�????????/usr/local????
????????
????????/usr/local/redis-2.8.19?????
????#make
??????????gcc: Command not found?????????????gcc
????#yum install gcc
??????????zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory???????????deps??????校?
????#make hiredis
????#make jemalloc
????#make linenoise
????#make lua
???????????????????make???伞?
?????????
????make??????????src??????redis-server?????????????校?
????#src/redis-server
??????
????#src/redis-server &//??&??????????????Redis????????
????????
????#ps aux|grep redis//???????????????
??????
????#telnet localhost 6379//???Redis
????????????
????#src/redis-cli//????Redis??????????
?????????????????????Redis????(1)keys *???????????????械?key??(2)set foo bar???????foo?????bar??(3)get foo??????foo?????
????????
????#src/redis-cli shutdown
?????????
?????????????贸?????????????????泻?????????????????????Redis??????????????????????????Redis?????????????????Redis?????????????????????/usr/local/redis-2.8.19/redis.conf????械?logfile?????/var/log/redis.log???????????????
???????????src/redis-cli CONFIG GET *??????????????????????????ERR Wrong number of arguments for CONFIG GET
??????????????些???????????????Redis????????????????????????????????
????#src/redis-server redis.conf &//???????路???????redis.conf
????????????????????????????????
????HA?????
?????????????Redis???????Replication????????????????????redisha1(153.65.171.99)???????master??redisha2(153.65.170.156)???????????????slave?????????redis.conf??
????slaveof 153.65.171.99 6379
???????????redisha1??slave??????????????????????redisha1?????set foo bar2????redisha2?????get foo????????bar2??Redis?????????????
????????????????????Replication?????slave??redisha2?????read-only????????????????redisha2?????set????写?????????set?????????(error) READONLY You can't write against a read only slave??
??????????Replication??????味?????鈥�???????????redisha1宕�???????????味??????Redis???效??????????????渭?redisha2?????read-only??slave??
??????????????????????????????????Redis Replication???械????谢?????????????????????Redis Sentinel?????????sentinel??????????????????????????????????????????????????Sentinel??redisha3(153.65.171.168)??redisha4(153.65.170.145)???????????redisha1??redisha2?????????????redis-2.8.19??????????????????????redis.conf???校?????????sentinel.conf??
????sentinel monitor test 153.65.171.99   6379   2
?????????????????????153.65.171.99??????????Redis????????????????????test(?????mymaster????????????????????????????????mymaster???????????????)??6379????99??Redis?????????
???????2???????????quorum???????????Redis?????????????卸??sentinel???????????????????sentinel宕�?????redis???????小????sentinel?????????“??”?????????sentinel??????redis???宕�????????????????????????????????械?sentinel????械?n??sentinel???????????redis?????宕�???????????????????????n???????quorum?????????
???????Sentinel??
??????redisha3??redisha4???????/usr/local/redis-2.8.19??????校?
????#src/redis-server sentinel.conf --sentinel
?????????
???????redisha1???redis?????????sentinel??????校?
????+switch-master test 153.65.171.99 6379 153.65.170.156 6379
?????????????redisha1(153.65.171.99)??master???????????redisha2(153.65.170.156)???械????
??????????????redisha2??redis.conf?械?slaveof??????????????????????master???
???????redisha1???redis??redisha1????slave????????redis???校???????sentinel??????锌?????
????+convert-to-slave slave 153.65.171.99:6379 153.65.171.99 6379 @ test 153.65.170.156 6379
??????redisha1?械?redis.conf????????谢?????????slaveof?????????????master??redisha2??
??????????????????????????redis????????????slave???????械???????2.6?姹�??????械??
???????redisha4???sentinel??redisha3??????????
????+sdown sentinel 153.65.170.145:26379 153.65.170.145 26379 @ test 153.65.170.156 6379
??????????????redisha2??????????master????sentinel??????????????谢???????quorum???????泄?????????????邪????2????????????????????
????SDOWN?? ODOWN??
??????sentinel??????校??????????????????????
????Subjectively Down condition (SDOWN) ????????redis??????????????sentinel?卸??redis??????????
????Objectively Down condition (ODOWN) ????卸??redis?????????quorum?????????????n?????????n??sentinel????redis????????????ODOWN????
????????????????
????#redis-cli -h {IP} -p 26379 info Sentinel//??sentinel?????
????#redis-cli -h {IP} -p 6379 info Replication//??replication?????
????#redis-cli -h {IP} -p 26379 sentinel slaves test//??????slave???????test??sentinel.conf???????master?????