[bind10-dev] Redis info

Evan Hunt each at isc.org
Sat Sep 4 21:53:58 UTC 2010


Comrades,

Bill Karwin, the guy I was talking to yesterday about SQL, recommended we
look into a newish tool called Redis, which is a shared cache similar to
memcached but with persistent storage.

The project is at http://code.google.com/p/redis.  Quoting from there:

    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 this data types
    can be manipulated with atomic operations to push/pop elements,
    add/remove elements, perform server side union, intersection,
    difference between sets, and so forth....  Redis supports trivial to
    setup master-slave replication, with very fast non-blocking first
    synchronization, auto reconnection on net split, and so forth.

In the new version, released last week, they added a new data type for
hashes, and a pub/sub feature so that processes can be notified of changes
to the cache:

http://code.google.com/p/redis/wiki/Redis_2_0_0_Changelog

It seems quite fast:

http://code.google.com/p/redis/wiki/Benchmarks

And it's BSD licensed.

The bad news is there's no Windows support at present, though allegedly
it does work when built with Cygwin.

This might be useful as a preliminary cache implementation (though we
might want to replace it with something else in the long run).  Since it
has persistent storage, it might also be a good data source backend.

Incidentally, it has an option to use something that sounds kind
of similar to the copy-on-write trick Stephen was suggesting for an
mmap()-based data source:

http://code.google.com/p/redis/wiki/AppendOnlyFileHowto

                                        eh




More information about the bind10-dev mailing list