关于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://csruizhi.cn/article/dhjhej.html

其他资讯

Copyright © 2007-2024 成都优众联杰科技有限公司 All Rights Reserved 蜀ICP备2024116266号
友情链接: 成都网站建设 专业网站建设 营销型网站建设 高端网站设计 温江网站设计 教育网站设计方案 手机网站制作 网站建设公司 企业网站设计 成都商城网站制作 成都企业网站建设 成都网站制作 营销网站建设 成都网站制作公司 上市集团网站建设 四川成都网站设计 网站设计制作 重庆网站制作 网站建设公司 古蔺网站建设 成都网站设计 手机网站制作