#sidebar 
SideBar
Checking Redis for the first time? Here your will find the most important features, and pointers to a lot more information.
Redis is written in ANSI C, and loads the whole dataset in memory, so it is wicked 
fast! Up to 110,000 
SETs/second, 81,000 GETs/second can be achieved in an entry level Linux box. Read more about Redis 
Speed.
Also Redis  supports 
Pipelining of commands and 
getting and setting múltiple values in a single command to speed up communication with the client libraries.
While all the data lives in memory, changes are 
asynchronously saved on disk using flexible policies based on elapsed time and/or number of updates since last save. 
If you can't afford losing some data, starting on version 1.1 (currently in beta but you can download it from the Git repository) Redis supports an append-only file persistence mode. Check more on 
Persistence, or read the 
AppendOnlyFileHowto for more information.
Values in Redis can be 
Strings as in a conventional key-value store, but also 
Lists, 
Sets, and 
SortedSets (to be support in 
version 1.1). This data types allow pushing/poping elements, or adding/removing them, also perform server side union, intersection, difference between sets, and so forth depending on the types. Redis supports different kind of sorting abilities for 
Sets and 
Lists.
You can think in Redis as a 
Data Structures Server, that allows you to model non trivial problems. Read 
Data Types to learn more about the way Redis handle 
Strings, and the 
Commands supported by 
Lists, 
Sets and 
SortedSetsRedis operations working on the different Data Types are 
atomic, so setting or increasing a key, adding and removing elements from a set, increasing a counter will all be accomplished safely.
Ruby, Python, Twisted Python, PHP, Erlang, Tcl, Perl, Lua, Java, Scala, Clojure, choose your poison. Check the list of 
Supported Languages for all the details.
If your favorite language is not supported yet, you can write your own client library, as the 
Protocol is pretty simple.
Redis supports a very simple and fast Master/Slave replication. Is so simple it takes only one line in the 
configuration file to set it up, and 21 seconds for a Slave to complete the initial sync of 10 MM key set in a Amazon EC2 instance.
Read more about Master/Slave 
Replication. 
Distributing the dataset across multiple Redis instances is easy in Redis, as in any other key-value store. And this depends basically on the 
Languages client libraries being able to do so. 
Read more about 
Sharding if you want to know more abour distributing data and workload in Redis.
TODO
Installing Redis requires little more than downloading it, uncompressing it and running make. Management is near zero, so you can start using Redis in a matter of minutes.
Go on and read about Redis 
installation, its 
Setup and 
Management.
Redis is written in ANSI C and works in most POSIX systems like Linux, BSD, Mac OS X, Solaris, and so on. Redis is reported to compile and work under WIN32 if compiled with Cygwin, but there is no official support for Windows currently.
Redis is free software released under the very liberal BSD license.
Want to get started with Redis? Try the 
Quick Start you will be up and running in just a matter of minutes.  
Check the 
Code Samples and find how you can use Redis with your favorite programming language.
Compare Redis with other key-value stores, like Tokyo Cabinet or Memcached.