package redis

import (
	rd "github.com/gomodule/redigo/redis"
	"github.com/spf13/viper"
	"testing"
)

func TestRedisClusterPool(t *testing.T) {
	viper.SetDefault("redis.host", "127.0.0.1:6379")
	//viper.SetDefault("redis.host", "119.29.80.118:6379")
	//viper.SetDefault("redis.nodes", []string{"10.10.10.98:6379", "10.10.10.68:6379", "10.10.10.95:6379"})
	hub := NewHub()
	for i := 0; i < 500; i++ {
		_, err := hub.Do("LPUSH", "test_key", []byte("test"))
		if err != nil {
			println("push error:", err.Error())
		}
	}

	for i := 0; i < 100; i++ {
		go func() {
			data, err := rd.Bytes(hub.Do("RPOP", "test_key"))
			if err != nil {
				println("pop error:", err.Error())
			} else {
				println("pop received:", string(data))
			}
		}()
	}

	quit := make(chan bool)
	<-quit
}