gomemcache是Memcached的作者用go语言写的Memcached客户端。
使用go get的方式来安装:
$ go get github.com/bradfitz/gomemcache/memcache
如下所示,是一个简单的使用示例:
package main import ( "fmt" "github.com/bradfitz/gomemcache/memcache" ) var ( // memcached缓存的ip和port mc_server = "10.11.8.76:12007" ) func main(){ // 初始化连接 mc := memcache.New( mc_server ) if mc == nil { fmt.Println( "memcached初始化连接失败" ) } // 存储数据 Set方法 mc.Set( &memcache.Item{Key: "foo", Value: []byte("bar")} ) // 获取数据 Get方法 res, err := mc.Get( "foo" ) if err != nil { fmt.Println( "Get方法获取数据失败" ) } else { if string( res.Key ) == "foo" { fmt.Println( string(res.Value) ) } else { fmt.Println( "Get方法获取数据失败" ) } } // 修改数据 Replace方法 mc.Replace( &memcache.Item{Key: "foo", Value: []byte("zhuanfou")} ) res, err := mc.Get( "foo" ) if err != nil { fmt.Println( "Replace方法修改数据失败" ) } else { if string( res.Key ) == "foo" { fmt.Println( string(res.Value) ) } else { fmt.Println( "Replace方法修改数据失败" ) } } // 删除数据 Delete方法 err = mc.Delete( "foo" ) if err != nil { fmt.Println( "Delete方法删除数据失败", err.Error() ) } // 累加 Increment方法 value, err := mc.Increment("key1", 7) if err != nil { fmt.Println("累加失败") } else { fmt.Println("累加后的值为:", value) } // 递减 Decrement方法 value, err = mc.Decrement("key1", 4) if err != nil { fmt.Println("递减失败", err.Error()) } else { fmt.Println("递减后的值为:", value) } fmt.Println("专否 zhuanfou.com") }
若想查看gomemcache完整版的文档说明,可运行如下命令:
$ godoc github.com/bradfitz/gomemcache/memcache