// Get connection to Redis, select database and if that database not empty // then panic to prevent existing data corruption. func dial() testRedisConn { addr := net.JoinHostPort(testRedisHost, testRedisPort) c, err := redis.DialTimeout("tcp", addr, 0, 1*time.Second, 1*time.Second) if err != nil { panic(err) } _, err = c.Do("SELECT", testRedisDB) if err != nil { c.Close() panic(err) } n, err := redis.Int(c.Do("DBSIZE")) if err != nil { c.Close() panic(err) } if n != 0 { c.Close() panic(errors.New("database is not empty, test can not continue")) } return testRedisConn{c} }
func ExampleInt() { c, err := dial() if err != nil { panic(err) } defer c.Close() c.Do("SET", "k1", 1) n, _ := redis.Int(c.Do("GET", "k1")) fmt.Printf("%#v\n", n) n, _ = redis.Int(c.Do("INCR", "k1")) fmt.Printf("%#v\n", n) // Output: // 1 // 2 }
// Dial dials the local Redis server and selects database 9. To prevent // stomping on real data, DialTestDB fails if database 9 contains data. The // returned connection flushes database 9 on close. func Dial() (redis.Conn, error) { c, err := redis.DialTimeout("tcp", ":6379", 0, 1*time.Second, 1*time.Second) if err != nil { return nil, err } _, err = c.Do("SELECT", "9") if err != nil { return nil, err } n, err := redis.Int(c.Do("DBSIZE")) if err != nil { return nil, err } if n != 0 { return nil, errors.New("database #9 is not empty, test can not continue") } return testConn{c}, nil }