`

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)
分享到:
评论

相关推荐

    redis订阅,redis发布

    7. **多语言支持**: Redis 支持多种编程语言的客户端库,如 Python、Java、Node.js、Go 等,因此发布/订阅功能可以在各种语言环境中轻松实现。 8. **性能优化**: 由于 Redis 是内存数据库,发布/订阅操作速度非常快...

    redis及依赖包.rar

    Redis是一款高性能的键值存储系统,常用于数据库、缓存和...通过手动安装和配置,你可以搭建起一个本地的Redis服务,用于数据存储和处理。虽然过程可能较为繁琐,但这也是在特殊环境下保证软件正常运行的一种常见方法。

    开源项目-alicebob-miniredis.zip

    《AliceBob的MiniRedis:一个纯Go语言实现的微型Redis服务器》 在IT行业中,测试是软件开发不可或缺的一部分,特别是对于数据库系统而言。Redis,作为一款高性能的键值存储服务,广泛应用于各种场景,包括缓存、...

    go-admin:基于go + gin + vue + element admin后台管理系统,支持用户管理,认证,内容管理等

    去管理员go-admin是一个go语言开发的后台管理系统,该系统以角色为基础的权限管理设计(RBAC),完成了系统管理模块功能的开发(其他示例模块替代合并),采用前替代分离实现方式,服务端基于go开源gin框架,前端...

    Go WEB 编程

    ### Go WEB 编程知识点概览 ...通过以上内容的学习,开发者可以全面掌握使用Go语言进行Web开发的知识体系,从环境搭建到实际应用,从基础语法到高级特性,为构建高性能、高可用性的Web应用程序打下坚实的基础。

    存储:国家租金

    4. **NoSQL数据库支持**:Go语言也有许多第三方库,如`gorm`、`mgo`、`redis`,用于连接和操作NoSQL数据库,如MongoDB、Redis,满足非结构化数据的存储需求。 5. **分布式存储系统**:Go语言的并发特性使其在构建...

    CentOS7下 gcc及gcc-c++所有rpm包

    在Linux系统中,CentOS是一个广泛使用的开源操作系统,它基于Red Hat Enterprise Linux并提供免费的社区支持。...通过使用rpm命令,用户可以在本地完成整个编译环境的搭建,从而进行后续的开发和编译工作。

    go web编程

    **3.2 Go 搭建一个简单的 Web 服务** - **标准库支持**:`net/http` 包的功能介绍。 - **路由分发**:处理不同 URL 路径的方法。 - **中间件**:添加功能或逻辑处理的常用模式。 **3.3 Go 如何使得 Web 工作** - ...

    go-common

    通过对go-common的深入理解和使用,开发者可以快速搭建起符合企业级标准的服务,同时也能更好地掌握Go语言的特性和最佳实践。对于希望在Go语言领域深耕的人来说,go-common是一个值得研究和学习的优秀框架。

    全球软件开发大会2021上海站ppt合集(28个主题共84份).zip

    Go 语言生态下的大规模微服务性能优化实践.pdf Hologres 高可用设计与实践.pdf Intel 安卓云 DevOps 应用与实践-王良 黄蕊 .pdf Kotlin Multiplatform 实战记.pdf Kylin 4:A Major Step Forwards To CLOUD.pdf ...

    admins:游戏后台管理系统

    同时,Go语言的并发模型和内存管理机制使得Echo在处理高并发场景时表现出色,符合游戏后台对性能的需求。 系统开源的标签意味着这个后台管理系统是开放源代码的,允许开发者查看、修改和分发代码。这样的开放性为...

    布谷直播源码完全开源.rar

    1. **服务器端**:通常采用Node.js、Java、Golang等语言编写,负责处理直播流的推拉、存储、分发,以及用户认证、聊天消息处理、礼物系统等功能。服务器端还可能包含CDN(Content Delivery Network)的集成,用于将...

Global site tag (gtag.js) - Google Analytics