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