Kestrel is as simple as Redis but Kestrel is an actual queue

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at:

I feel stupid that I didn’t look at Kestrel sooner. I feel especially stupid that I’ve been using Redis when I didn’t actually need it.

Redis has a beautifully flexible API which makes it tempting to use Redis for everything, but Redis is really a cache that focuses on speed above all else. Everything in Redis has to fit in memory, and Redis will drop anything that can’t fit in memory. Also, the stuff in Redis can be mutated, and for that reason it’s always been a bit odd that so many of us have tried to use it as a queue.

Kestrel is slower because it journals to a disk, but that also makes it a real queue — it won’t lose all your data. So most of the time that I’ve been using Redis, I really should have been using Kestrel.

Since Kestrel supports the Memcache protocol, Clojure’s Spyglass offers a nice interface for it.