为什么我的redis测试不如从对象查找哈希那么快?

Jer*_*ith 1 ruby redis

我认为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)

tad*_*man 5

Redis很快,但它不能像直接内存访问那么快.它需要构建请求,发布请求,等待响应,解码响应,并将该值返回给您的应用程序.Redis作为一个单独的进程运行,因此即使它位于同一台机器上,您也必须为进程间通信支付这个价格.

它的基准测试速度只有十二倍,令人印象深刻.