38 lines
1.1 KiB
Markdown
38 lines
1.1 KiB
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](http://www.couchbase.com/) 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"})
|