我正在使用以下代码在我的Go应用程序中执行SET和EXPIRE操作。
_, err = C.Cache.Do("SETEX", key, 3600, data)
但是我开始遇到一个错误:使用已关闭的网络连接。我使用Gary Burd的Redigo包和RedisLabs。
我的连接Redis的代码如下:
//Connect to cache (Redis)
cache, err := connectToCache()
if err != nil {
log.Printf("Cache connection settings are invalid")
os.Exit(1)
}
defer cache.Close()
func connectToCache() (redis.Conn, error) {
cache, err := redis.Dial("tcp", CACHE_URI)
if err != nil {
return nil, err
}
_, err = cache.Do("AUTH", CACHE_AUTH)
if err != nil {
cache.Close()
return nil, err
}
return cache, nil
}
redis.Pool
。此外,请参见我的答案:http://stackoverflow.com/questions/30244080/sharing-redis-settings-across-routes/30244721#30244721 - JimB