肉渣教程

Go 客户端

上一节 下一节

gomemcache是Memcached的作者用go语言写的Memcached客户端。


安装gomemcache

使用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

Go 客户端

上一节 下一节