redis – cache done right
Posted by EngineSmith on September 11, 2010
Finally we got into the situation to consider a cache system (our system is write-most, thus cache was not originally the main concern). After some research, we settled on redis instead of memcached. Here are many things redis has done right:
- atomic operations – no more complicated locking logic in application code
- support list, set etc more data structures – simpler application code
- control your cache’s TTL – guaranteed persistence, virtual memory, snapshot (crash recovery)
- fast, slim and simple – do one thing very well. The source code only relies on make and gcc, no other dependencies
There is no clustering support in redis itself (or its Java client lib yet), however, it is not hard to write your own consistent hashing algorithm to use several redis instances together. And I really hope redis won’t complicate itself in that direction (or maybe make a separate library for it, just like CouchDB uses Lounge. To me, “do one thing and do it really well” is the best way to go).
Another candidate we considered was membase. It claimed to have done everything (clustering, re-balancing, persistence), which is actually a bit scary. Just like our Cassandra fiasco in May 2010, well, I will write up that lesson a bit later.
We are going to roll redis in production next week, will keep you posted about how it goes.
Tweets that mention redis – cache done right « EngineSmith's Blog -- Topsy.com said
[…] This post was mentioned on Twitter by Salvatore Sanfilippo, JD Maturen. JD Maturen said: RT @antirez: Blog article about Redis where the author hopes we'll not go for the clustering implementation 🙂 http://bit.ly/caZ9ue […]
Redis rocks! « EngineSmith's Blog said
[…] weeks ago I wrote Redis – Cache done right. Since then, we deployed a cluster of 6 Redis nodes in Production. The result: simply […]
http://tinyurl.com/bunmblade38218 said
“redis – cache done right EngineSmith’s Blog” was in fact a marvelous post, can not help but wait to read through a lot more of your blogs. Time to spend numerous time on the net lmao. Many thanks -Candace