You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
techknowlogick 47f6a4ec3f
go1.16 (#14783)
3 years ago
..
.gitignore [Vendor] update macaron related (#13409) 4 years ago
.travis.yml [Vendor] update macaron related (#13409) 4 years ago
LICENSE [Vendor] update macaron related (#13409) 4 years ago
README.markdown [Vendor] update macaron related (#13409) 4 years ago
audit.go [Vendor] update macaron related (#13409) 4 years ago
client.go go1.16 (#14783) 3 years ago
conn_pool.go [Vendor] update macaron related (#13409) 4 years ago
ddocs.go [Vendor] update macaron related (#13409) 4 years ago
go.mod [Vendor] update macaron related (#13409) 4 years ago
observe.go [Vendor] update macaron related (#13409) 4 years ago
pools.go go1.16 (#14783) 3 years ago
port_map.go [Vendor] update macaron related (#13409) 4 years ago
streaming.go go1.16 (#14783) 3 years ago
tap.go [Vendor] update macaron related (#13409) 4 years ago
upr.go [Vendor] update macaron related (#13409) 4 years ago
users.go [Vendor] update macaron related (#13409) 4 years ago
util.go [Vendor] update macaron related (#13409) 4 years ago
vbmap.go [Vendor] update macaron related (#13409) 4 years ago
views.go [Vendor] update macaron related (#13409) 4 years ago

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"})