ljr/wcmtools/memcached/website/apis.bml

79 lines
3.1 KiB
Plaintext
Executable File

<?page
wintitle=>client apis
body<=
<?h1 Perl API h1?>
<p> An object-oriented Perl module can be found on CPAN as <tt>Cache::Memcached</tt> or downloaded here.</p>
<ul>
<li><a href="dist/Cache-Memcached-1.14.tar.gz">Cache-Memcached-1.14.tar.gz</a>, GPL/Artistic.
[<a href="http://cvs.danga.com/browse.cgi/wcmtools/memcached/api/perl/ChangeLog?rev=HEAD&amp;content-type=text/plain">ChangeLog</a>]
</ul>
<p>The API takes advantage of the server's opaque flag support and
sets its "complex" flag whenever the object being stored or retrieved
isn't a plain scalar. In that case, the <tt>Storable</tt> module is
used to freeze and thaw the value automatically going in and out of
the memcached.</p>
<?h1 PHP API h1?>
<p>Several PHP APIs are available:</p>
<ul>
<li><a href="http://phpca.cytherianage.net/memcached/">http://phpca.cytherianage.net/memcached/</a></li>
<li><a href="http://pecl.php.net/package/memcache/">http://pecl.php.net/package/memcache/</a> -- implemented in C, but doesn't support multiple memcached servers</li>
<li>... (many others, send me links?)</li>
</ul>
<?h1 Python API h1?>
<p>An object-oriented Python module modelled after the Perl one is also
included in the distribution. It includes Pickle/cPickle support (like Perl's Storable).</p>
<ul>
<li><a href="dist/python-memcached-1.2.tar.gz">python-memcached-1.2.tar.gz</a>, Python license.
[<a href="http://cvs.danga.com/browse.cgi/wcmtools/memcached/api/python/ChangeLog?rev=HEAD&amp;content-type=text/plain">ChangeLog</a>]
</ul>
<p>The Python API, while tested, has not experienced real-world production use.
Also, its performance could be optimized (less syscalls parsing responses), if anybody
out there would care to improve it.</p>
<p>Please contact us to take over its development.</p>
<?h1 Ruby API h1?>
<p>A Ruby API is available from Michael Granger at:</p>
<ul>
<li><a href="http://www.deveiate.org/code/Ruby-MemCache.html">http://www.deveiate.org/code/Ruby-MemCache.html</a></li>
</ul>
<?h1 Java API h1?>
<p>A Java API is maintained by <a href="mailto:greg@meetup.com">Greg Whalin</a> from <a href="http://www.meetup.com/">Meetup.com</a>. You can find that library here:
<ul>
<li><a href="http://www.whalin.com/memcached/">http://www.whalin.com/memcached/</a> -- Java API for memcached
</ul>
<?h1 C API h1?>
<p>Multiple C libraries for memcached exist:</p>
<ul>
<li><a href="http://www.outoforder.cc/projects/libs/apr_memcache/">apr_memcache</a> by Paul Querna; Apache Software License version 2.0</li>
<li><a href="http://people.freebsd.org/~seanc/libmemcache/">libmemcache</a> by Sean Chittenden; BSD license.</li>
</ul>
<?h1 Protocol h1?> <p>To write a new client, check out the <a
href="http://cvs.danga.com/browse.cgi/wcmtools/memcached/doc/protocol.txt?rev=HEAD&amp;content-type=text/plain">protocol
docs</a>. Be aware that the most important part of the client is the
hashing across multiple servers, based on the key, or an optional
caller-provided hashing value. Feel free to join the mailing list (or
mail me directly) for help, inclusion in CVS, and/or a link to your
client from this site.</p>
<=body
page?>