Ruby下Memcached两个客户端的对比

代码:

require "rubygems"
require 'eventmachine'
require "benchmark"
require "memcache"

cache_proc = proc{|cache,n|
proc{
n.times do |t|
cache.set "a", 'hello'
cache.set "b", 'hi'
cache.set "c", 'how are you?'
cache.set "d", ''

# => EM client's get() must require a block,nnd.
cache.get("a"){}
cache.get("missing"){}
cache.set("missing", 'abc')
cache.get("missing"){}
cache.delete("missing")
cache.get("missing"){}
end
}
}

# => memcache-client v1.7.0
cache_client = MemCache.new('localhost:10001')

# => Eventmachine Memcache Protocol
EM.run{
cache_em = EM::P::Memcache.connect 'localhost', 10001
Benchmark.bmbm do |x|
x.report('EM',&cache_proc.call(cache_em,10000))
x.report('memcache-client',&cache_proc.call(cache_client,10000))
end
}


测试结果:

[quote]Rehearsal ---------------------------------------------------
EM 4.350000 0.140000 4.490000 ( 4.532573)
memcache-client 34.970000 5.760000 40.730000 ( 42.958925)
----------------------------------------- total: 45.220000sec

user system total real
EM 12.030000 0.180000 12.210000 ( 12.330900)
memcache-client 57.510000 6.220000 63.730000 ( 65.870205)[/quote]

Eventmachine要比Memcache-client快好多啊,这个基于反射模型的中间件可以好好的发掘下潜力了.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值