I'm the author/maintainer of jmemcached; I'd be willing to do this and it'd be quite easy to do, but Cassandra is missing a number of things which would make it so we could only support a subset of the memcache protocol. Memcache has:

set-if-not-present ("add")
atomic increment / decrement
string append / prepend

that said, if people see a use case for this, I would do it. My implementation of the memcached protocol (built over netty) supports both its binary and text dialects, and is fast. When run against a concurrent-linked-hashmap based back end on my box it can do about 40k ops/second vs native C memcached about 50-6k ops (measured using memslap benchmark tool). 


On Sun, Apr 4, 2010 at 8:47 PM, Paul Prescod <paul@prescod.net> wrote:
Many Cassandra implementations seem to be memcached+X migrations, and some might be replacing memcached alone. Has anyone considered making a protocol handler or proxy that would allow Cassandra to talk the memached binary protocol?

jmemcached + Cassandra = easy migration?

I have barely started to consider the impedance mismatch issues, but the most glaring one is that the memcached namespace is flat, whereas Cassandra's has several levels of nesting. I think that this could be managed through configuration files. Either the user could map all Memcached stuff to a single ColumnFamily, or they could define a convention for splitting their keys based on special namespace characters like ":" or "_". The user could say how to interpret keys without enough parts (i.e. whether to treat the missing part as the keyspace or the columnfamily).

 Paul Prescod