libcouchbase is a callback oriented client which makes it very easy to write high performance, thread safe programs. If you're interested in the early history of libcouchbase you might want to check out the blog post
The key component of libcouchbase is that its asynchronous, giving you full freedom in adding it to your application logic. From using the asynchronous interface you may schedule a lot of operations to be performed, and then you'll get the callbacks whenever they are performed. I do know that there are a lot of people who don't care about an async interface, so you may also enable synchronous mode. When synchronous mode is enabled you can't use this batching.
You might want to read the blog post I wrote where I create a small example program and explains why we need to do certain stuff at:
Unfortunately for you we've later completely refactored the API, so when you've read and understood the idea behind the library in the above blog post you should read the following post explaining the rationale behind changing the API, and what you as a user have to do..
Please see: http://www.couchbase.com/issues/browse/CCBC
Please note that the version from git requires autotools to be installed. You should consult with your package manager to ensure that the following packages are installed and updated: autoconf (2.60+), automake, and libtool. Follow the steps below to checkout the most recent version from git and build from source on your hardware.
Grab the sources using git:
git clone git://github.com/couchbase/libcouchbase.git
./configurescript using autoconf. Note: this step requires that you have cloned this repository from git and that the
.gitdirectory exists. If you have used the tarball from github, it will complain on this step, see config/autorun.sh file for details.
Generate Makefile. Take a look at possible options to the script:
Make and check the build (you can also use
make checkto only run test suite):
make && make distcheck
The developers of libcouchbase usually hang out in the
IRC channel on freenode.net.