In general, all Couchbase SDKs provide the same core set of methods to read, write and update documents in the Couchbase Server's data stores. Common features across all SDKs include:
All operations are atomic
All operations require a key
No implicit locking, such as a row lock, occur during an operation
Several update operations require a matching CAS value in order to succeed. You provide the CAS value as a parameter to a method and if the value matches the current CAS value stored with a document, it will be updated.
The following describes major data store operations you can perform in your web application using the Couchbase Client. Language-specific variations in the SDK's do exist; please consult your chosen SDK's Language Reference for details specific to the SDK at Develop with Couchbase .
Note: If you use the text-based memcache protocol to communicate with Couchbase Server, you will need to use moxi as a message proxy. For more information, see Moxi Manual 1.8 .
Store Operations
Add: Stores a given document if it does not yet exist in the data store.
Set: Stores a given document, overwriting an existing version if it exists.
Retrieve Operations
Get: Retrieve/Fetch a specified document.
Get and touch: Fetch a specified document and update the document expiration.
Multi-retrieves: Fetch multiple documents in a single server request.
Update Operations
Touch: Update the Time to Live (TTL) for a given document.
Replace: Replace a given document, if it exists, otherwise do not commit any data to the store.
Check and Set (CAS): Replace a current document with a given document if it matches a given CAS value.
Append/Prepend: Add data at the start, or at the end of a specified document.
Delete: Remove a specified document from the store.
Flush: Delete an entire data bucket, including cached and persisted data.
'Observe': Determine whether a stored document is persisted onto disk, and is therefore also available via indexing and querying.