Redis is an advanced key-value store. It is similar to memcached but the dataset is not volatile, and values can be strings, exactly like in memcached, but also lists, sets, and ordered sets. All these data types can be manipulated with atomic operations to push/pop elements, add/remove elements, perform server side union, intersection, and difference between sets, and so forth. Redis also supports different kinds of sorting.