理论
ooxx
代理实战:
使用twitter代理
git学习网址:https://github.com/twitter/twemproxy
下载:git clone https://github.com/twitter/twemproxy.git
如果:Http request failed
yum update nss
cd twemproxy
autoreconf -fvi需要安装高版本,解决办法:https://www.cnblogs.com/fnlingnzb-learner/p/5831443.html
./configure --enable-debug=full
make
cp tmp/twemproxy/scripts/nutcracker.init /etc/init.d/
配置:
cd /etc/init.d
chmod +x twemproxy 变绿
查看twemproxy文件需要两个配置:
1.将conf目录下所有文件移动到/etc/nutcracker
cp ./* /etc/nutcracker/
2.配置全局环境path 比如放到:根目录下/bin、/sbin、 /usr/bin
cp /tmp/twemproxy/src/nutcracker /usr/bin
3. 备份并编辑 vi nutcracker.yml
4. 只留下alpha、删除其他 命令: d G
5. 在增加服务6380
启动:
1.启动redis 6379
redis-server --port 6379
1.启动redis 6380
redis-server --port 6380
1.启动代理默认端口22122
service twemproxy start
测试代理:
redis-cli -p 22121
127.0.0.1:22121> set a a
OK
127.0.0.1:22121> set b b
OK
127.0.0.1:22121> set ooxx a
OK
127.0.0.1:22121> set ooaa b
OK
127.0.0.1:22121> lpush list1 a b c d e f g h i g k l
(integer) 12
127.0.0.1:22121> keys *
Error: Server closed the connection
127.0.0.1:22121> watch a
Error: Server closed the connection
127.0.0.1:22121> multi
Error: Server closed the connection
测试redis6380
[root@redis2 ~]# redis-cli -p 6380 127.0.0.1:6380> keys * 1) "list1" 2) "ooaa" 3) "ooxx" 127.0.0.1:6380> get ooxx "a"
测试redis6379
[root@redis2 ~]# redis-cli -p 6379 127.0.0.1:6379> get a "a" 127.0.0.1:6379> keys * 1) "b" 2) "a"
结论:
- 对于客户端只需要直到代理即可。
- 代理将不同的key发送到不同的redis服务上
- 代理不能获取全量key、不能watch、不能开启事务