[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