Redis is an open source key-value database. Data in a key-value database has two parts: the key and the value. Because Redis can accept keys in a wide range of formats, operations can be executed on the server and reduce the client's workload. Redis is often used for cache management and speeding up web applications.
Redis is written in ANSI C and runs on POSIX systems such as Linux, Mac OS X and Solaris. It can be accessed by applications through its client API library. Redis, which has a relatively rich set of data types when compared to many key-value data stores, holds its database entirely in memory, using the disk only for persistence.
Redis supports these data structures:
Binary-safe strings - lists or collections of string elements are sorted according to the order of insertion.
sets and sorted sets - collections of unique, unsorted string elements and collections in which every string element is associated with a floating number value called a score.
Hashes - maps composed of fields associated with values. Both the field and the value are strings.
HyperLogLogs - a data structure that can estimate the number of items in a set.
Geospatial indexes - data that is stored as coordinate pairs.
Redis 3.0 introduces Redis Cluster, a distributed implementation of Redis that included automatic data sharding and fault tolerance. Although there is no official support for Windows builds, Microsoft maintains a Win-64 port of Redis at GitHub.