1

I'm developing a golang web project with Redigo to connect to a redis docker container.

While the golang web application is in running state, I've changed the value of a redis key using SET MyFlag true in redis-cli. But this is not reflecting in my webapp. When MyFlag is fetched using flag, err := redis.Bool(conn.Do("GET", "MyFlag")), it gives the old value.

But, after the webapp is restarted, the same command fetches the new value.

conn is retrieved from a redis connection pool. This is the configuration for redis pool

redisPool = &redis.Pool{
        MaxIdle:     5,
        IdleTimeout: 240 * time.Second,
        MaxActive:   10,
        Wait:        true,
        Dial: func() (redis.Conn, error) {
            c, err := redis.Dial("tcp", db.GetUrl())
            if err != nil {
                return nil, err
            }
            password := db.GetPassword()
            if password != "" {
                if _, err := c.Do("AUTH", password); err != nil {
                    _ = c.Close()
                    return nil, err
                }
            }
            return c, nil
        },
    }

Is this the issue of caching in Redis/Redigo/Docker ?

4

0 回答 0