如何使用 nutcracker (twemproxy),python示例

关于nutcracker 也叫twemproxy,是twitter提供的memcache和radis的分片工具,有各种算法可以选择。具体 的介绍我就不说了,网上一大堆。


至于使用,到很少很少。


这里用python做个简单使用说明。


1\ 首先,我这里就启动2个memcached。命令如下:

memcached -d -m 100 -c 1000 -u root -p 11211


memcached -d -m 100 -c 1000 -u root -p 11212


2\ nutcracker配置文件如下

bash-3.2$ cat nutcracker.root.yml 

root:

  listen: 127.0.0.1:11210

  hash: fnv1a_64

  distribution: ketama

  preconnect: true

  auto_eject_hosts: false

  servers:

   - 127.0.0.1:11211:1

   - 127.0.0.1:11212:1


直接启动,只为测试:

#!/bin/sh

/usr/local/sbin/nutcracker -c nutcracker.root.yml



OK 到这里我们的memcache + nutcracker的工作已经完成了。

由于这里是新启动,所以数据肯定是空的,我们就不验证了。(不相信自己去试试)

然后我们启动一遍python的写memcache的脚本。

注意这里python脚本实际上连接的是nutcracker的ip和port

脚本如下:

bash-3.2$ cat testNutcracker.py 

#!/usr/local/bin/python


import memcache


mc = memcache.Client(['localhost:11210'],debug=0)

chenee = "is a pig"

print chenee


chenee = mc.get("foo.chenee")

print chenee



mc.set("foo.chenee","chenee is a big pig")

chenee = mc.get("foo.chenee")

print chenee



python脚本的运行结果如下:

bash-3.2$ ./testNutcracker.py 

is a pig

chenee is a big pig

chenee is a big pig

bash-3.2$ 


可以看到读取,设置缓存的工作已经成功,我们下面来验证nutcracker到底有木有效果;



Connection closed by foreign host.

bash-3.2$ telnet 127.0.0.1 11210

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

get foo

END

get foo.chenee

VALUE foo.chenee 0 19

chenee is a big pig

END

quit

Connection closed by foreign host.

bash-3.2$ telnet 127.0.0.1 11211

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

get foo.chenee

VALUE foo.chenee 0 19

chenee is a big pig

END

quit

Connection closed by foreign host.

bash-3.2$ telnet 127.0.0.1 11212

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

get foo.chenee

END

quit

Connection closed by foreign host.

可以看到我们直接telnet到nutcracker,可以看到数据。

telnet到11211的memcache上可以看到数据。但是11212这个memcached上并不存在数据。说明nutcracker确实是对我们的set和get操作做调度了。



over,进一步还没有研究。等真正用到了再说。


注:在迷惑了很久以后,这篇文章的代码部分给我灵感,发现到真正的用法。感谢作者


github.com/shuge/man/blob/master/sa/kv/twemproxy-quick-guide.md  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值