Hi, the current plan regarding memcached is to deliver the server and a few simple interfaces into SXDE. However, there exists a lot of interfaces to memcached, and we should make more detailed plans on which interfaces to deliver and support.
The Web stack Pteam decided that interfaces that have interest from other groups as well (Perl, PHP, etc) should be OSRed, ARCed, tested and integrated by these groups. So, these are the interfaces that we currently care about: C Interfaces. ------------ There are three C interfaces available: libmemcache - http://people.freebsd.org/~seanc/libmemcache/ libmemcached - http://tangent.org/552/libmemcached.html apr_memcache - http://www.outoforder.cc/projects/libs/apr_memcache/ There is not much demand for C interfaces to memcached in the community, so our reasons for including one is as follows: - A C client is probably the lightest interface you can think of. This makes it great for benchmarking. - Every system should have a C interface :) We have OSRed and ARCed libmemcache for use in OpenSolaris. However, we are not sure that this is the long-term proper decision: 1. Do we really need to support a C interface to memcached? 2. Have we picked the right one? libmemcache does not seem to be actively supported. However, we do not think that we want to include apr_memcache because of the close strings to the Apache Portable Runtime utilities. C# Interfaces ------------- There exist two of these, but we do not intend to integrate any of them. C++ Interfaces -------------- Oddly enough, there does not seem to be any C++ clients out there... Java Interfaces --------------- There are two Java interfaces mentioned by memcached: Java API for memcached - http://www.whalin.com/memcached/ Improved Java API for memcached - http://bleu.west.spy.net/~dustin/projects/memcached/ With Sun being a strong supporter of Java, it is reasonable that we support a Java API for memcached. We have also seen external interest in Java interfaces, so it is worth supporting. We have ARCed and started to OSR the Whalin interface for use with memcached. The plan is to provide it as package SUNWmemcached-java, but due to the missing OSR, it will not go into the next build. Perl Interfaces --------------- There exist one Perl interface maintained by Danga interactive: http://code.sixapart.com/svn/memcached/trunk/api/perl/. We suggest that this interface should be tested, integrated and supported by the Perl team. PHP Interfaces -------------- According to the memcached site, there is a number of these, but the PECL client (http://pecl.php.net/package/memcache) seems to be the official one. The PECL client should be tested, integrated and supported by the PHP team. Python Interfaces ----------------- There is currently one active interface for Python: ftp://ftp.tummy.com/pub/python-memcached/. However, we do not currently plan to support it. Ruby Interfaces --------------- This is the Ruby interface: http://www.deveiate.org/code/Ruby-MemCache.html. If there is interest for a Ruby interface, we think that the Ruby team should test, integrate and support it. Postgres Interfaces ------------------- The pgmemcache interface (http://pgfoundry.org/projects/pgmemcache/) makes it possible to access memcached servers from Postgresql stored procedures. We think it is the Postgresql team's responsibility to test, integrate and support this interface. MySQL Interfaces ---------------- There exists one MySQL interface currently (http://tangent.org/index.pl?node_id=506), which can be used as a storage engine for MySQL. We think it is the MySQL team's responsibility to test, integrate and support this interface. Any comments to the above appreciated! Roy
