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