Official couchbase documentation says.
"If you already have an application that uses the Memcached protocol then you can start using your Couchbase Server immediately. If so, you can simply point your application to this server like you would any other memcached server. No code changes or special libraries are needed, and the application will behave exactly as it would against a standard memcached server. Without the client knowing anything about it, the data is being replicated, persisted, and the cluster can be expanded or contracted completely transparently."
We already have a C based application which was working with memcached by using libmemcached C APIs. We wanted to move to couchbase since we wanted persistence (mainly). We saw the aforementioned Couchbase quote and tried this (with Couchbase bucket) and it was a pleasant surprise. It worked , just like that. +1 for that.
We found that there also exists a Couchbase C api, Now following are the questions,
- If libmemcached API is enough to use Couchbase, what does the Couchbase C API offer ?
- What are the disadvantages of ( continuing ) to use (existing ) libmemached API to talk to Couchbase type bucket of Couchbase server ?
- What are the advantages of upgrading our application to use Couchbase C api to talk to Couchbase server ?