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節點上。