(摘) golang库:GoMemcache

声明:内容源自网络,版权归原作者所有。若有侵权请在网页聊天中联系我

GoMemcache是memcache 客户端库,使用简单。

go get github.com/bradfitz/gomemcache/memcache

import (
        "github.com/bradfitz/gomemcache/memcache"
)

func main() {
     mc := memcache.New("10.0.0.1:11211", "10.0.0.2:11211", "10.0.0.3:11212")
     mc.Set(&memcache.Item{Key: "foo", Value: []byte("my value")})

     it, err := mc.Get("foo")
     ...
}
import (
    "fmt"
    "github.com/bradfitz/gomemcache/memcache"
)

var Client *memcache.Client

const (
    MEMCACHE_HOST = ""
    MEMCACHE_PORT = ""
)

var CacheErr error

func Cache() {
    dsn := fmt.Sprintf("%s:%s", MEMCACHE_HOST, MEMCACHE_PORT)
    Client = memcache.New(dsn)
    // 添加一个key,过期时间为100s
    Client.Add(&memcache.Item{
        Key:        "golang",
        Value:      []byte("test golang memcache"),
        Flags:      0,
        Expiration: 100,
    })
    // 获取一个key
    item1, CacheErr := Client.Get("golang")
    if CacheErr != nil {
        fmt.Println(CacheErr.Error())
    } else {
        fmt.Println(string(item1.Value), item1.Key)
    }
    // 替换一个key,替换掉上面添加的key
    Client.Replace(&memcache.Item{
        Key:        "golang",
        Value:      []byte("replace golang memcache"),
        Flags:      0,
        Expiration: 100,
    })
    // 获取一个key
    item2, CacheErr := Client.Get("golang")
    if CacheErr != nil {
        fmt.Println(CacheErr.Error())
    } else {
        fmt.Println(string(item2.Value), item2.Key)
    }
    // 删除一个key
    CacheErr = Client.Delete("golang")
    if CacheErr != nil {
        fmt.Println(CacheErr.Error())
    } else {
        fmt.Println("删除成功!")
    }
    // 删除全部
    CacheErr = Client.DeleteAll()
    if CacheErr != nil {
        fmt.Println(CacheErr.Error())
    } else {
        fmt.Println("全部删除成功!")
    }

}

滑稽的是居然不好找到memcache的运行程序,需要自己编译。

32位系统 1.4.4版本:http://static.runoob.com/download/memcached-win32-1.4.4-14.zip
64位系统 1.4.4版本:http://static.runoob.com/download/memcached-win64-1.4.4-14.zip
32位系统 1.4.5版本:http://static.runoob.com/download/memcached-1.4.5-x86.zip
64位系统 1.4.5版本:http://static.runoob.com/download/memcached-1.4.5-amd64.zip

据说在 1.4.5 版本以前 memcached 可以作为一个服务安装,而在 1.4.5 及之后的版本删除了该功能。

相关文章