关于redigo中PubSub的一点小坑分析-创新互联

前言

创新互联是一家专注于网站制作、成都网站设计与策划设计,潍城网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:潍城等地区。潍城做网站价格咨询:18982081108

最近在用 golang 做一些 redis 相关的操作,选用了 redigo 这个第三方库。然后在使用 Pub/Sub 的时候,却发现了一个小坑……

Redis Client


首先,我们来初始化一个带连接池的 Redis Client:

import (
	"github.com/gomodule/redigo/redis"
)

type RedisClient struct {
	pool *redis.Pool
}

func NewRedisClient(addr string, db int, passwd string) *RedisClient {
	pool := &redis.Pool{
		MaxIdle:  10,
		IdleTimeout: 300 * time.Second,
		Dial: func() (redis.Conn, error) {
			c, err := redis.Dial("tcp", addr, redis.DialPassword(passwd), redis.DialDatabase(db))
			if err != nil {
				return nil, err
			}
			return c, nil
		},
		TestOnBorrow: func(c redis.Conn, t time.Time) error {
			if time.Since(t) < time.Minute {
				return nil
			}
			_, err := c.Do("PING")
			return err
		},
	}
	log.Printf("new redis pool at %s", addr)
	client := &RedisClient{
		pool: pool,
	}
	return client
}

本文标题:关于redigo中PubSub的一点小坑分析-创新互联
文章地址:http://bzwzjz.com/article/dhjhej.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 四川成都网站制作 四川成都网站设计 成都企业网站设计 成都网站制作 重庆网站设计 四川成都网站建设 外贸营销网站建设 古蔺网站建设 教育网站设计方案 重庆企业网站建设 营销型网站建设 高端网站建设 网站建设方案 成都网站建设公司 网站制作 成都网站设计 成都响应式网站建设公司 重庆网站制作 网站建设费用 成都网站建设流程 手机网站制作 定制网站建设