package redis import ( "fmt" "git.shuncheng.lu/bigthing/gocommon/pkg/conf" "git.shuncheng.lu/bigthing/gocommon/pkg/internal/properties" "testing" "time" ) var ( pro properties.Properties ) func mockRedisConfig(t *testing.T) { config := ` redis.host = 127.0.0.1:6379 redis.password = redis.database = 1 application.env = debug ` var err error pro, err = properties.ReadFromString(config) if err != nil { t.Fatal(err) } conf.MustValue = func(section, key string, defaultVal ...string) string { return pro.GetString(section+"."+key, defaultVal...) } } func TestInstancePool(t *testing.T) { mockRedisConfig(t) if err := Init(); err != nil { t.Fatal(err) } fmt.Println(Instance().SetString("k11111", "v1")) cnn := InstancePool().Get() defer cnn.Close() fmt.Println(cnn.Do("get", "k11111")) } func TestPUSH(t *testing.T) { mockRedisConfig(t) if err := Init(); err != nil { t.Fatal(err) } Instance().LPUSH("mylist1", []interface{}{1, 2, 3, 4}) //cnn := InstancePool().Get() //defer cnn.Close() //fmt.Println(cnn.Do("BLPOP", "mylist1", 0)) } func TestIsDirectInstancePoolFalse(t *testing.T) { mockRedisConfig(t) pro.SetString("application.env", "release") if err := Init(); err != nil { t.Fatal(err) } t.Log("success") } func TestIsDirectInstancePool(t *testing.T) { mockRedisConfig(t) pro.SetString("application.env", "release") pro.SetString("redis.is_direct", "true") if err := Init(); err != nil { t.Fatal(err) } fmt.Println(Instance().SetString("k11111", "v1")) cnn := InstancePool().Get() defer cnn.Close() fmt.Println(cnn.Do("get", "k11111")) } func TestInit(t *testing.T) { mockRedisConfig(t) pro.SetString("redis.password", "") if err := Init(); err != nil { t.Fatal(err) } t.Log("success") } func TestPing(t *testing.T) { mockRedisConfig(t) if err := Init(); err != nil { t.Fatal(err) } for x := 0; x < 5; x++ { <-time.After(time.Second * 2) fmt.Println(Instance().GetString("k1")) } }