Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>As the author of <a href="http://code.google.com/p/spymemcached/" rel="noreferrer">spymemcached</a>, I'm a bit biased, but I'd say it's mine for the following reasons:</p> <h2>Designed from scratch to be non-blocking everywhere possible.</h2> <p>When you ask for data, issue a set, etc... there's one tiny concurrent queue insertion and you get a Future to block on results (with some convenience methods for common cases like get).</p> <h2>Optimized Aggressively</h2> <p>You can read more on my <a href="http://code.google.com/p/spymemcached/wiki/Optimizations" rel="noreferrer">optimizations</a> page, but I do whole-application optimization.</p> <p>I still do pretty well in micro-benchmarks, but to compare fairly against the other client, you have to contrive unrealistic usage patterns (for example, waiting for the response on every set operation or building locks around gets to keep them from doing packet optimization).</p> <h2>Tested Obsessively</h2> <p>I maintain a pretty rigorous test suite with <a href="http://dustin.github.com/java-memcached-client/emma/" rel="noreferrer">coverage reports</a> on every release.</p> <p>Bugs still slip in, but they're usually pretty minor, and the client just keeps getting better. :)</p> <h2>Well Documented</h2> <p>The <a href="http://code.google.com/p/spymemcached/wiki/Examples" rel="noreferrer">examples</a> page provides a quick introduction, but the <a href="http://dustin.github.com/java-memcached-client/apidocs/" rel="noreferrer">javadoc</a> goes into tremendous detail.</p> <h2>Provides High-level Abstractions</h2> <p>I've got a Map interface to the cache as well as a functional CAS abstraction. Both binary and text support an incr-with-default mechanism (provided by the binary protocol, but rather tricky in text).</p> <h2>Keeps up with the Specs</h2> <p>I do a <a href="http://cloud.github.com/downloads/dustin/memcached/changelog.html" rel="noreferrer">lot of work</a> on the server itself, so I keep up with protocol changes.</p> <p>I did the first binary protocol server implementations (both a test server and in memcached itself), and this was the first production-ready client to support it, and does so first-class.</p> <p>I've also got support for several hash algorithms and node distribution algorithms, all of which are well-tested for every build. You can do a stock ketama consistent hash, or a derivative using FNV-1 (or even java's native string hashing) if you want better performance.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload