Memcached 学习笔记(三)——多节点测试
一,启动两个(或者多个)节点:
memcached -d -p 11212 -u nobody -c 1024 -m 64
memcached -d -p 11213 -u nobody -c 1024 -m 64
查看一下进程树:
二,用Ruby测试多个memcached节点:
$KCODE='u'
require "rubygems"
require "memcache"
require "logger"
server=['localhost:11211','localhost:11212','localhost:11213']
option={
:logger=>Logger.new(STDOUT)
}
cache=MemCache.new(server,option)
cache['key1']=123
cache['key2']="ABCDE"
cache['key3']=%w(hoge fuga)
cache['key4']={:foo=>1,:bar=>"a"}
p cache['key1']
p cache['key2']
p cache['key3']
p cache['key4']
其运行结果如下图:
从图中可以看到,对于多个节点的测试,图中红色部分key2,key3都写入11211节点中;绿色部分key1写入到11212节点中,蓝色部分key4写入到了11213节点中。
三,模拟失去一个节点
require "rubygems"
require "memcache"
require "logger"
server=['localhost:11212','localhost:11213']
option={
:logger=>Logger.new(STDOUT)
}
cache=MemCache.new(server,option)
cache['key1']=123
cache['key2']="ABCDE"
cache['key3']=%w(hoge fuga)
cache['key4']={:foo=>1,:bar=>"a"}
p cache['key1']
p cache['key2']
p cache['key3']
p cache['key4']
在上面的代码中,我们在
server=['localhost:11212','localhost:11213']
去掉了一个节点'localhost:11211',执行结果如下图:
可以看到,当丢掉一个节点后,key1,key2,key3的数据都写到了11212节点上,key4的值写到了11213节点上。