I would think the the redis test would be at least equally as fast as doing a hash lookup in an object.
An object looking up a value from a hash
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)
vs a simple Redis lookup
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)
Redis is fast, but it can’t be as fast as a direct memory access. It requires constructing a request, posting it, waiting for a response, decoding that response, and returning that value to your application. Redis runs as a separate process, so you will have to pay this price for inter-process communication even when it is located on the same machine.
That it is only twelve times slower by your benchmark is still impressive.