美文网首页
golang 如何连接redis --- 2022-04-03

golang 如何连接redis --- 2022-04-03

作者: 一位先生_ | 来源:发表于2022-05-21 12:49 被阅读0次

    下面介绍golang如何连接redis服务端。

    1.golang连接redis

    // 初始化一个新的redis client
    client := redis.NewClient(&redis.Options{
            Addr:     "localhost:6379", // redis地址
            Password: "", // redis没密码,没有设置,则留空
            DB:       0,  // 使用默认数据库
        })
    

    通过例子,我们知道主要通过Options配置redis的连接参数,下面对Options参数进行详细说明。

    提示:go-redis包自带了连接池,会自动维护redis连接,因此创建一次client即可,不要查询一次redis就关闭client。

    2.Options参数详解

    type Options struct {
        // 网络类型 tcp 或者 unix.
        // 默认是 tcp.
        Network string
        // redis地址,格式 host:port
        Addr string
    
        // 新建一个redis连接的时候,会回调这个函数
        OnConnect func(*Conn) error
    
        // redis密码,redis server没有设置可以为空。
        Password string
        
        // redis数据库,序号从0开始,默认是0,可以不用设置
        DB int
    
        // redis操作失败最大重试次数,默认不重试。
        MaxRetries int
        
        // 最小重试时间间隔.
        // 默认是 8ms ; -1 表示关闭.
        MinRetryBackoff time.Duration
        
        // 最大重试时间间隔
        // 默认是 512ms; -1 表示关闭.
        MaxRetryBackoff time.Duration
    
        // redis连接超时时间.
        // 默认是 5 秒.
        DialTimeout time.Duration
        
        // socket读取超时时间
        // 默认 3 秒.
        ReadTimeout time.Duration
        
        // socket写超时时间
        WriteTimeout time.Duration
    
        // redis连接池的最大连接数.
        // 默认连接池大小等于 cpu个数 * 10
        PoolSize int
        
        // redis连接池最小空闲连接数.
        MinIdleConns int
        // redis连接最大的存活时间,默认不会关闭过时的连接.
        MaxConnAge time.Duration
        
        // 当你从redis连接池获取一个连接之后,连接池最多等待这个拿出去的连接多长时间。
        // 默认是等待 ReadTimeout + 1 秒.
        PoolTimeout time.Duration
        // redis连接池多久会关闭一个空闲连接.
        // 默认是 5 分钟. -1 则表示关闭这个配置项
        IdleTimeout time.Duration
        // 多长时间检测一下,空闲连接
        // 默认是 1 分钟. -1 表示关闭空闲连接检测
        IdleCheckFrequency time.Duration
    
        // 只读设置,如果设置为true, redis只能查询缓存不能更新。
        readOnly bool
    }
    

    相关文章

      网友评论

          本文标题:golang 如何连接redis --- 2022-04-03

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