At the Forge - Redis
I looked at Redis after having read numerous rave reviews, and I was expecting to find serious problems with it. To date, I haven't found any. Indeed, I find myself among its excited proponents. That said, I have grown to enjoy working with Redis because I'm using it in places where it is appropriate. I can handle the loss of data stored since the most recent checkpoint. The data I am storing fits into Redis' data structures quite easily, and the data I am storing fits within my server's available RAM. In addition, there is an excellent Ruby library for working with Redis, which allows me to integrate it into my work seamlessly and easily.
That said, Redis isn't a good match for everyone. If you are storing multilevel hash tables, or if you cannot afford to lose even a moment's data when the server goes down, or if you want to have the data replicated across master servers (as opposed to master-slave, which Redis handles easily), you might want to look at a different solution, such as Cassandra. But I have been impressed and delighted with Redis in my work so far, and from what I can tell, I'm not the only one who feels this way.
If you need a high-speed storage or caching system that provides everything memcached does and then some, you probably should take a look at Redis. It is easy to install, high performance, and it has client libraries in every major programming language. Redis has been in production use with numerous applications, including many Web sites, for more than a year, and its users continue to rave about its functionality and performance. Even if you don't need a key-value store right now, it might be worth installing and playing with Redis. I wouldn't be surprised if after a few minutes of experimentation, you will think of some uses for it you hadn't considered previously.
The home page for Redis, as well as the Web site from which you can download the latest source code, is code.google.com/p/redis. This page contains a large number of links to tutorials and libraries for Redis users, most of which are worth at least a quick look.
A good introduction to Redis by Kirk Hanes of Engine Yard (a Ruby hosting company) and how you can use it from within your Ruby programs is at www.engineyard.com/blog/2009/key-value-stores-for-ruby-part-4-to-redis-or-not-to-redis.
Finally, a helpful cheat sheet for the Redis protocol, including the latest additions, such as hash tables and multi-exec, is available from Mason Jones at his GitHub page: github.com/masonoise/redis-cheatsheet. (Appropriate, given that GitHub is a heavy user of Redis.)
Reuven M. Lerner is a longtime Web developer, architect and trainer. He is a PhD candidate in learning sciences at Northwestern University, researching the design and analysis of collaborative on-line communities. Reuven lives with his wife and three children in Modi'in, Israel.
- Readers' Choice Awards 2013
- A Plexible Pi
- Swap Your Laptop for an iPad + Linode
- Sublime Text: One Editor to Rule Them All?
- RSS Feeds
- Mars Needs Women
- Linux Kernel News - November 2013
- Raspberry Pi: the Perfect Home Server
- Advanced Hard Drive Caching Techniques
- December 2013 Issue of Linux Journal: Readers' Choice
- Starting the conversation is the first step.
55 min 8 sec ago
2 hours 42 min ago
2 hours 42 min ago
- Nice but....
3 hours 4 min ago
- great specs
9 hours 34 min ago
- Reply to comment | Linux Journal
10 hours 40 min ago
- rilakkuma onesie
13 hours 16 min ago
- flying squirrel onesie
13 hours 18 min ago
- animal onesies for adults
13 hours 20 min ago
- animal onesies
13 hours 21 min ago