"Can do 19,600 gets and 13,900 sets a second on a MacBook Pro"
In my macbook (not PRO) Redis performs like this:
% ./redis-benchmark -q
SET: 34705.88 requests per second
GET: 31055.90 requests per second
INCR: 28739.25 requests per second
LPUSH: 35013.98 requests per second
LPOP: 30496.95 requests per second
^C
But redis sucks on Mac OS X compared to how it performs on Linux. The same macbook running Linux reaches almost 100k query/sec. An entry level server running Linux is in the 150k/sec zone.Sorry but I spent some time in order to make Redis so fast, so to see numbers an order of magnitude less does not make me happy ;)
About the replication: Redis supports master-slave replication with very very fast first synchronization. The replication is non-blocking, this means that if you attach N slaves to the master it continues to reply to clients without troubles when synching with the slaves.
If the link between master and slaves goes down the two will resynchronize again automatically. It's possible to use a replica in order to enhance data durability.
Replication can be controlled at runtime. For instance if you want an instance to become a replica of another instance all you need to do is something like this:
echo -e "slaveof 1.2.3.4 6379\r\n" | nc 1.1.1.1 6379
Final note about the snapshotting persistence mode, in Redis edge on git there is already support for append-only journal, that makes Redis an option even when data is very important.