Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Couchbase client in Go

branch: master

This branch is 0 commits ahead and 0 commits behind master

Added some error logging to TapFeed

Trying to diagnose some recent “TAP connection lost” errors reported in
couchbase/sync_gateway#95
latest commit eac20f4302
Jens Alfke snej authored
Octocat-spinner-32 examples Atomically perform bucket refreshes
Octocat-spinner-32 populate Fix subproject build failure
Octocat-spinner-32 tools added utility to load files into couchbase
Octocat-spinner-32 util Added view management in a utility library.
Octocat-spinner-32 .gitignore added utility to load files into couchbase
Octocat-spinner-32 .travis.yml Stupid travis and its old versionness.
Octocat-spinner-32 LICENSE Added a license
Octocat-spinner-32 README.markdown Added installation instructions
Octocat-spinner-32 client.go Remove client Statuses counters
Octocat-spinner-32 conn_pool.go Reuse and cleanup timer for pool timeouts
Octocat-spinner-32 conn_pool_test.go Test returning a connection to a closed pool
Octocat-spinner-32 ddocs.go Suppress empty reduce function.
Octocat-spinner-32 pools.go Remove client Statuses counters
Octocat-spinner-32 pools_test.go Atomically perform bucket refreshes
Octocat-spinner-32 tap.go Added some error logging to TapFeed
Octocat-spinner-32 util.go Oops, fixed bug in last commit
Octocat-spinner-32 util_test.go test URL parser
Octocat-spinner-32 vbmap.go Atomically perform bucket refreshes
Octocat-spinner-32 vbmap_test.go Atomically perform bucket refreshes
Octocat-spinner-32 views.go choose a node with couchAPIBase when building URL for view request
Octocat-spinner-32 views_test.go Test bad view parameter yields error
README.markdown

A smart client for couchbase in go

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/couchbaselabs/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", []string{"an", "example", "list"})
Something went wrong with that request. Please try again.