go语言搭建本地redis

使用包:https://github.com/go-redis/redis/tree/v3.2.29
使用方法:https://godoc.org/gopkg.in/redis.v3#pkg-examples
链接方法:redis.NewClient,里面有例子
这个包也满足集群的方式。
package lib

import (
  "gopkg.in/redis.v3"
)
//no cluster
func NewRedisClient(host string, port string, password string) *redis.Client{
    client := redis.NewClient(&redis.Options{
        Addr:     host + ":" + port,
        Password: password, // no password set
        DB:       0,  // use default DB
    })
    return client
}
//cluster connection
func NewClusterRedisClient(redis_urls []string) *redis.ClusterClient{
       client := redis.NewClusterClient(&redis.ClusterOptions{
   Addrs: redis_urls,//[]string{"127.0.0.1:7000","127.0.0.1:7001","127.0.0.1:7002","127.0.0.1:7003"},
       })
       return client
}

  type ConfigRedis struct {
    Production map[string][]string
    Development map[string][]string
    Test map[string][]string
  }
func GetClusterRedisUrls()(redis_urls []string) {
  var config_redis ConfigRedis
  redis_url_file_path,_ := filepath.Abs("config/redis_cluster.yml")
  redis_url_content,_ := ioutil.ReadFile(redis_url_file_path)
  yaml.Unmarshal(redis_url_content,&config_redis)
  switch CurrentEnv{
    case "dev":
    redis_urls = config_redis.Development["urls"]//如果是单个就去第一个["urls"][0]
    case "prod":
      redis_urls = config_redis.Production["urls"]
    default:
      redis_urls = config_redis.Production["urls"]
  }
  return redis_urls
}

#使用方法文档都有。
ClusterRedis:= NewClusterRedisClient(GetClusterRedisUrls())
    ip_fc:=ClusterRedis.HGetAll("fc:"+bl.Bidrequest.Udevice.Ip)
    ip_fc_map := common.ToMap(ip_fc)

猜你喜欢

转载自hhg08.iteye.com/blog/2284511