Localmemcache高性能Ruby缓存系统
Localmemcache 是一个高性能的基于 Unix/Linux mmap() 接口的 key-value 数据库,采用 Ruby 开发,同时也提供 C 语言的客户端接口。
安装方法:gem install localmemcache
示例代码:
require 'localmemcache'
# 1. the memcached way
# $lm = LocalMemCache.new :namespace => :viewcounters
# 2. the GDBM way
#$lm = LocalMemCache.new :filename => "./viewcounters.lmc"
# 3. Using LocalMemCache::SharedObjectStorage
$lm = LocalMemCache::SharedObjectStorage.new :filename =>
"./viewcounters.lmc"
$lm[:foo] = 1
$lm[:foo]
$lm.delete(:foo)
性能:
在一台配置为Intel(R) Xeon(R) CPU E5205 @ 1.86GHz 的服务器上对下面几个系统进行性能比较:
Ruby 压力测试伪码:
2_000_000.times {
index = rand(10000).to_s
$hash.set(index, index)
$hash.get(index)
}
MemCache: 253,326.122 ms
GDBM: 24,226.116 ms
Tokyo Cabinet: 9,092.707 ms
Localmemcache 0.4.0: 5,310.055 ms
Ruby Hash of Strings: 4,963.313 ms
评论