我认为redis测试至少与在对象中进行哈希查找一样快.
查找哈希值的对象
ruby-1.9.2-p180 :022 > quick(1000) {@p.lookup(:summary_header)} #=> nil
Rehearsal ------------------------------------
0.000000 0.010000 0.010000 ( 0.006522)
--------------------------- total: 0.010000sec
user system total real
0.010000 0.000000 0.010000 ( 0.006701)
Run Code Online (Sandbox Code Playgroud)
vs一个简单的Redis查找
ruby-1.9.2-p180 :023 > quick(1000) {r.get("header")} #=> nil
Rehearsal ------------------------------------
0.020000 0.020000 0.040000 ( 0.088880)
--------------------------- total: 0.040000sec
user system total real
0.030000 0.020000 0.050000 ( 0.085839)
Run Code Online (Sandbox Code Playgroud)
Redis很快,但它不能像直接内存访问那么快.它需要构建请求,发布请求,等待响应,解码响应,并将该值返回给您的应用程序.Redis作为一个单独的进程运行,因此即使它位于同一台机器上,您也必须为进程间通信支付这个价格.
它的基准测试速度只有十二倍,令人印象深刻.