1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-04 10:30:19 -05:00
forgejo/vendor/github.com/couchbaselabs/go-couchbase
Tamal Saha 171b359877 Use gitea forked macaron (#7933)
Signed-off-by: Tamal Saha <tamal@appscode.com>
2019-08-23 12:40:29 -04:00
..
.gitignore Use Go1.11 module (#5743) 2019-03-27 19:15:23 +08:00
.travis.yml Use Go1.11 module (#5743) 2019-03-27 19:15:23 +08:00
audit.go add other session providers (#5963) 2019-02-05 11:52:51 -05:00
client.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
conn_pool.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
ddocs.go add other session providers (#5963) 2019-02-05 11:52:51 -05:00
LICENSE add other session providers (#5963) 2019-02-05 11:52:51 -05:00
observe.go add other session providers (#5963) 2019-02-05 11:52:51 -05:00
pools.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
port_map.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
README.markdown Use Go1.11 module (#5743) 2019-03-27 19:15:23 +08:00
streaming.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
tap.go add other session providers (#5963) 2019-02-05 11:52:51 -05:00
upr.go add other session providers (#5963) 2019-02-05 11:52:51 -05:00
users.go add other session providers (#5963) 2019-02-05 11:52:51 -05:00
util.go add other session providers (#5963) 2019-02-05 11:52:51 -05:00
vbmap.go add other session providers (#5963) 2019-02-05 11:52:51 -05:00
views.go add other session providers (#5963) 2019-02-05 11:52:51 -05:00

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