美文网首页
go使用redigo操作连接redis

go使用redigo操作连接redis

作者: ahubaoan | 来源:发表于2018-07-13 15:21 被阅读0次

go目前用的比较广泛的redis库就是这个redigo了:
https://github.com/garyburd/redigo

比起简单的连接,这个库支持直接制作一个连接池来操作redis
这里简单实用open-falcon的一个代码片段解释一下:

package g

import (
        //redigo的库
    "github.com/garyburd/redigo/redis"
    "log"
    "time"
)

//声明一个连接池
var RedisConnPool *redis.Pool

func InitRedisConnPool() {
        //从配置中读取地址
    dsn := Config().Alarm.Redis.Dsn
        //最大连接数
    maxIdle := Config().Alarm.Redis.MaxIdle
        //超时时间
    idleTimeout := 240 * time.Second

    connTimeout := time.Duration(Config().Alarm.Redis.ConnTimeout) * time.Millisecond
    readTimeout := time.Duration(Config().Alarm.Redis.ReadTimeout) * time.Millisecond
    writeTimeout := time.Duration(Config().Alarm.Redis.WriteTimeout) * time.Millisecond

        //这个即可连接
    RedisConnPool = &redis.Pool{
        MaxIdle:     maxIdle,
        IdleTimeout: idleTimeout,
        Dial: func() (redis.Conn, error) {
            c, err := redis.DialTimeout("tcp", dsn, connTimeout, readTimeout, writeTimeout)
            if err != nil {
                return nil, err
            }
            return c, err
        },
        TestOnBorrow: PingRedis,
    }
}


// 查看状态的回调
func PingRedis(c redis.Conn, t time.Time) error {
    _, err := c.Do("ping")
    if err != nil {
        log.Println("[ERROR] ping redis fail", err)
    }
    return err
}

相关文章

  • go使用redigo操作连接redis

    go目前用的比较广泛的redis库就是这个redigo了:https://github.com/garyburd/...

  • 在Go语言中基础的Redis操作

    在Go语言中基础的Redis操作 需要先安装redigo Go语言Redis客户端的简单示例 连接池 POOL 为...

  • 学习-1

    日志包使用"github.com/yezihack/colorlog"操作redis使用redigo包"githu...

  • redigo源码解析

    前言 redigo是用Go语言开发的Redis客户端,受到Redis官方的推荐。 redigo的源码量比较少,也比...

  • golang 操作redis

    golang操作redis一般有两种库,一个是go-redis,一个是redigo,在这里我们主要介绍go-red...

  • go语言使用redis(redigo)

    go的redis client用的比较多两个包是redix和redigo,因为beego cache模块里redi...

  • gobox中redis操作

    今天来说下使用gobox中redis操作相关 说明 本包的driver部分使用了redigo:https://gi...

  • Golang操作redis指南

    相关模块以及安装方式 redigo模块 redis-cluster客户端实现go-redis模块 注意:如下操...

  • redigo连接池不入坑

    写在前面 用go开发web项目时,经常会用到redis,推荐使用redigo包,目前有4800多个star,基本不...

  • go-redis(gomodule

    安装 go get github.com/gomodule/redigo/redis 简单例子: 字节流编解码 r...

网友评论

      本文标题:go使用redigo操作连接redis

      本文链接:https://www.haomeiwen.com/subject/iszjpftx.html