Couchbase has a number of official client libraries for development. In addition, Couchbase Server is protocol compatible with memcached, so you may use any number of existing client libraries against the server.
If you want to develop your own Couchbase clients, see Developing Couchbase Clients
Couchbase Server has developed a set of additional protocol operations over the course of releases.
- TAP Protocol (since 1.6)
- Observe (since 2.0)
- Replica Read (since 2.1)
- CCCP:Cluster Configuration Carrier Publication (since 2.5)
- Common Flags
This project aims to provide a consistent method for storing document meta-data. Specifically it will define the exact formatting of the flags field as well as the datatype field to allow the server to make reasonable assumptions as well. (since "2.0" SDKs, which includes Java 2.0, Go 1.0, etc.)
- Common Connection String
The goal of this project is to define a consistant method of providing cluster host information through the clients. This proposal does this by defining an specific hostname format that will be accepted for the purpose of initializing and bootstrapping a cluster.
- SDK 2.0
The purpose of this proposal is to outline a new uniform interface for the various SDKs to use as a standard for implementing their individual APIs.