jason 075d766964 first 3 lat temu
..
cbdatasource 075d766964 first 3 lat temu
examples 075d766964 first 3 lat temu
perf 075d766964 first 3 lat temu
platform 075d766964 first 3 lat temu
populate 075d766964 first 3 lat temu
tools 075d766964 first 3 lat temu
trace 075d766964 first 3 lat temu
util 075d766964 first 3 lat temu
.gitignore 075d766964 first 3 lat temu
.travis.yml 075d766964 first 3 lat temu
LICENSE 075d766964 first 3 lat temu
README.markdown 075d766964 first 3 lat temu
audit.go 075d766964 first 3 lat temu
client.go 075d766964 first 3 lat temu
client_test.go 075d766964 first 3 lat temu
conn_pool.go 075d766964 first 3 lat temu
conn_pool_test.go 075d766964 first 3 lat temu
ddocs.go 075d766964 first 3 lat temu
observe.go 075d766964 first 3 lat temu
pools.go 075d766964 first 3 lat temu
pools_test.go 075d766964 first 3 lat temu
streaming.go 075d766964 first 3 lat temu
tap.go 075d766964 first 3 lat temu
upr.go 075d766964 first 3 lat temu
users.go 075d766964 first 3 lat temu
users_test.go 075d766964 first 3 lat temu
util.go 075d766964 first 3 lat temu
util_test.go 075d766964 first 3 lat temu
vbmap.go 075d766964 first 3 lat temu
vbmap_test.go 075d766964 first 3 lat temu
views.go 075d766964 first 3 lat temu
views_test.go 075d766964 first 3 lat temu

README.markdown

A smart client for couchbase in go

This is a unoffical version of a Couchbase Golang client. If you are looking for the Offical Couchbase Golang client please see

[CB-go])[https://github.com/couchbaselabs/gocb].

This is an evolving package, but does provide a useful interface to a couchbase server including all of the pool/bucket discovery features, compatible key distribution with other clients, and vbucket motion awareness so application can continue to operate during rebalances.

It also supports view querying with source node randomization so you don't bang on all one node to do all the work.

Install

go get github.com/couchbase/go-couchbase

Example

c, err := couchbase.Connect("http://dev-couchbase.example.com:8091/")
if err != nil {
    log.Fatalf("Error connecting:  %v", err)
}

pool, err := c.GetPool("default")
if err != nil {
    log.Fatalf("Error getting pool:  %v", err)
}

bucket, err := pool.GetBucket("default")
if err != nil {
    log.Fatalf("Error getting bucket:  %v", err)
}

bucket.Set("someKey", 0, []string{"an", "example", "list"})