NoSQL Options Compared, March 19, 2013 A Developer's Look at the Primary NoSQL Options
Developer Salvatore Sanfilippo
License Type BSD Open Source
Operating System Linux, Mac OS X
Implementation Language C
Initial Release 2009
Redis is primarily an in-memory database. While it does have some capability for persisting data to disk, its primary use is as a blazingly fast in-memory product. While it uses a key-value model, Redis should not be confused for a simple in-memory cache, although it does enable expiration to be set for data items, as would a cache. Redis supports in-memory transactions, master-slave replication, and even pub/sub capabilities. The replication scheme permits a slave to be a master to other slaves, and so on, thereby enabling an extensive replication tree with a single root.
Redis is best used where fast access to data that need not be retained is important, such as stock quotations and other short-lived data.
Redis has many language bindings and supports Lua as a scripting language. It is written in ANSI C, so it should be portable to most platforms. However, the product is not officially supported on Microsoft Windows.