Originally published at: http://www.sitepoint.com/semi-relational-data-modeling-redis-ohm/
You probably know about Redis. If you’ve never used it, chances are you think of it as another in-memory data-store. But if you think of it like that, you’ll be doing it an injustice: Redis is much more than just a key-value store. It’s a data-structure server including an in-memory dataset. Redis goes beyond the capabilities of a mere key-value store by supporting:
- Data structures such as Lists, Sets, and Hashes
- Persistence, in both snapshot and log-based modes
- Pub/Sub mechanism and -by extension- message queue implementations
- Clustering, partitioning and high availability (via [Sentinel] (http://redis.io/topics/sentinel))
In this tutorial, we’ll create an Object Model that wraps itself around Redis’s data structures, providing us with a way to seamlessly interact with Redis from within our Ruby code. This is provided by the excellent Ohm gem.