| 1 | <?page |
|---|
| 2 | wintitle=>client apis |
|---|
| 3 | body<= |
|---|
| 4 | |
|---|
| 5 | <?h1 Perl API h1?> |
|---|
| 6 | |
|---|
| 7 | <p> An object-oriented Perl module can be <a href="http://search.cpan.org/dist/Cache-Memcached/">found |
|---|
| 8 | on CPAN</a> as <tt>Cache::Memcached</tt> or <a href="http://code.sixapart.com/svn/memcached/trunk/api/perl/"> |
|---|
| 9 | in Subversion</a> (<a href="http://code.sixapart.com/svn/memcached/trunk/api/perl/ChangeLog">ChangeLog</a>). |
|---|
| 10 | (GPL/Artistic)</p> |
|---|
| 11 | |
|---|
| 12 | <p>The Perl API takes advantage of the server's opaque flag support and |
|---|
| 13 | sets its "complex" flag whenever the object being stored or retrieved |
|---|
| 14 | isn't a plain scalar. In that case, the <tt>Storable</tt> module is |
|---|
| 15 | used to freeze and thaw the value automatically going in and out of |
|---|
| 16 | the memcached.</p> |
|---|
| 17 | |
|---|
| 18 | <?h1 PHP API h1?> |
|---|
| 19 | |
|---|
| 20 | <p>There are tons of PHP libraries available, in different conditions. But it now seems there's an official one:</p> |
|---|
| 21 | <ul> |
|---|
| 22 | <li><a href="http://pecl.php.net/package/memcache">PHP PECL memcached client</a> -- official PHP client</li> |
|---|
| 23 | </ul> |
|---|
| 24 | |
|---|
| 25 | <?h1 Python API h1?> |
|---|
| 26 | |
|---|
| 27 | <p>The Python client we'd previously released was just a prototype, and we don't have regular Python programmers on hand. The folks at Tummy.com have took over maintenance. See <a href="ftp://ftp.tummy.com/pub/python-memcached/">ftp://ftp.tummy.com/pub/python-memcached/</a> for the latest versions.</p> |
|---|
| 28 | |
|---|
| 29 | <?h1 Ruby API h1?> |
|---|
| 30 | |
|---|
| 31 | <ul> |
|---|
| 32 | <li><a href="http://www.deveiate.org/code/Ruby-MemCache.html">http://www.deveiate.org/code/Ruby-MemCache.html</a></li> |
|---|
| 33 | <li>gem install memcache-client</li> |
|---|
| 34 | </ul> |
|---|
| 35 | |
|---|
| 36 | <?h1 Java API h1?> |
|---|
| 37 | <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: |
|---|
| 38 | |
|---|
| 39 | <ul> |
|---|
| 40 | <li><a href="http://www.whalin.com/memcached/">http://www.whalin.com/memcached/</a> -- Java API for memcached</li> |
|---|
| 41 | </ul> |
|---|
| 42 | |
|---|
| 43 | <p>An improved Java API maintained by Dustin Sallings is also available. Aggressively optimised, ability to run async, supports binary protocol, etc. See site for details: |
|---|
| 44 | |
|---|
| 45 | <ul> |
|---|
| 46 | <li><a |
|---|
| 47 | href="http://bleu.west.spy.net/~dustin/projects/memcached/">http://bleu.west.spy.net/~dustin/projects/memcached/</a> -- Improved Java API for memcached</li> |
|---|
| 48 | </ul> |
|---|
| 49 | |
|---|
| 50 | <?h1 C# API h1?> |
|---|
| 51 | <p>There are multiple C# APIs: |
|---|
| 52 | |
|---|
| 53 | <ul> |
|---|
| 54 | <li><a href="https://sourceforge.net/projects/memcacheddotnet/">https://sourceforge.net/projects/memcacheddotnet/</a></li> |
|---|
| 55 | <li><a href="http://www.codeplex.com/EnyimMemcached/">http://www.codeplex.com/EnyimMemcached/</a> - Client developed in .NET 2.0 keeping performance and extensibility in mind. (Supports consistent hashing.)</li> |
|---|
| 56 | </ul> |
|---|
| 57 | |
|---|
| 58 | <?h1 C API h1?> |
|---|
| 59 | <p>Multiple C libraries for memcached exist:</p> |
|---|
| 60 | <ul> |
|---|
| 61 | <li><a href="http://www.outoforder.cc/projects/libs/apr_memcache/">apr_memcache</a> by Paul Querna; Apache Software License version 2.0</li> |
|---|
| 62 | <li><a href="http://tangent.org/552/libmemcached.html">libmemcached</a> by |
|---|
| 63 | Brian Aker; BSD license.</li> |
|---|
| 64 | <li><a href="http://people.freebsd.org/~seanc/libmemcache/">libmemcache</a> by Sean Chittenden; BSD license.</li> |
|---|
| 65 | </ul> |
|---|
| 66 | |
|---|
| 67 | <?h1 Postgres API h1?> |
|---|
| 68 | <p>The pgmemcache project allows |
|---|
| 69 | you to access memcache servers from Postgresql Stored Procedures and Triggers. |
|---|
| 70 | More details and downloads are available at:</p> |
|---|
| 71 | |
|---|
| 72 | <ul> |
|---|
| 73 | <li><a href="http://pgfoundry.org/projects/pgmemcache/">http://pgfoundry.org/projects/pgmemcache/</a></li> |
|---|
| 74 | </ul> |
|---|
| 75 | |
|---|
| 76 | <?h1 Chicken Scheme h1?> |
|---|
| 77 | <p> |
|---|
| 78 | </p> |
|---|
| 79 | <ul> |
|---|
| 80 | <li><a href="http://chicken.wiki.br/memcached">http://chicken.wiki.br/memcached</a> -- Chicken Scheme library</li> |
|---|
| 81 | </ul> |
|---|
| 82 | |
|---|
| 83 | <?h1 Protocol h1?> <p>To write a new client, check out the <a |
|---|
| 84 | href="http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt">protocol |
|---|
| 85 | docs</a>. Be aware that the most important part of the client is the |
|---|
| 86 | hashing across multiple servers, based on the key, or an optional |
|---|
| 87 | caller-provided hashing value. Feel free to join the mailing list (or |
|---|
| 88 | mail me directly) for help, inclusion in Subversion, and/or a link to your |
|---|
| 89 | client from this site.</p> |
|---|
| 90 | |
|---|
| 91 | <=body |
|---|
| 92 | page?> |
|---|