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

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都网站建设 网站建设方案 定制网站建设 高端网站建设 四川成都网站设计 成都网站制作 成都网站建设 网站设计制作 成都品牌网站建设 成都网站制作 企业手机网站建设 品牌网站建设 阿坝网站设计 成都网站建设 专业网站建设 移动手机网站制作 重庆网站建设 网站建设公司 成都网站设计公司 成都企业网站建设公司 外贸营销网站建设 成都网站设计