Bug#845789: ITP: spymemcached -- simple, asynchronous, single-threaded memcached client written in java
Package: wnpp
Severity: wishlist
Owner: Christopher Hoskin <christopher.hoskin@gmail.com>
* Package name : spymemcached
Version : 2.12.1
Upstream Author : Dustin Sallings, Couchbase, Inc.
* URL : https://github.com/couchbase/spymemcached
* License : Expat
Programming Lang: Java
Description : simple, asynchronous, single-threaded memcached client written in Java
Spymemcached is a simple, asynchronous, single-threaded memcached client written in Java, featuring:
* Efficient storage of objects. General serializable objects are stored in
their serialized form and optionally compressed if they meet criteria.
Certain native objects are stored as tightly as possible (for example, a
Date object generally consumes six bytes, and a Long can be anywhere from
zero to eight bytes).
* Resilient to server and network outages. In many cases, a client operation
can be replayed against a server if it goes away and comes back. In cases
where it can't, it will communicate that as well. An exponential backoff
reconnect algorithm is applied when a memcached becomes unavailable, but
asynchronous operations will queue up for the server to be applied when
it comes back online.
* Operations are asynchronous. It is possible to issue a store and continue
processing without having to wait for that operation to finish. It is even
possible to issue a get, do some further processing, check the result of the
get and cancel it if it doesn't return fast enough.
* There is only one thread for all processing. Regardless of the number of
requests, threads using the client, or servers to which the client is
connected, only one thread will ever be allocated to a given MemcachedClient.
* Aggressively optimized. There are many optimizations that combine to provide
high throughput.
I propose to maintain in within the pkg-java team. I will require a sponsor.
Christopher Hoskin
Reply to: