NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



Redis Usecase: Find out who is Online

If you are a Facebook user you know there is a chat application (I confess I haven’t used it, but I know it is there). With such an application an important question to answer is: “which of my friends are online now”. While I’m pretty sure that Facebook implementation is different and not based on Redis, I have found two articles describing two different solutions for this problem based on Redis.

First one, coming from Luke Melia: ☞ Who’s Online? is using Redis support for SETs and set operations to solve it.

The second approach, coming from Rick Olson: ☞ Track user locations with Node.js and Redis, proposes a different approach based on usage of “smart keys” and key expiration support in Redis.

Not sure if the complete code for the first solution is available, but the relevant code is included in the article. As for the second, you can find the source code on ☞ GitHub.

Last, I should probably mention that in the case of a web application solving this problem is a bit easier than for classical desktop IMs., but these Redis usecases are a great example for how you can use Redis. Another emerging usecase is session storage with NoSQL. And you’ll find even more in this great list of Redis usecases.