func doGet(id string, signal chan int, client redis.AsyncClient, cnt int) { key := "set-" + id for i := 0; i < cnt; i++ { client.Get(key) } signal <- 1 }
func doRpop(id string, signal chan int, client redis.AsyncClient, cnt int) { key := "list-R" + id for i := 0; i < cnt; i++ { client.Rpop(key) } signal <- 1 }
func doRpush(id string, signal chan int, client redis.AsyncClient, cnt int) { key := "list-R-" + id value := []byte("foo") for i := 0; i < cnt; i++ { client.Rpush(key, value) } signal <- 1 }
func doSet(id string, signal chan int, client redis.AsyncClient, cnt int) { key := "set-" + id value := []byte("foo") for i := 0; i < cnt; i++ { client.Set(key, value) } signal <- 1 }
func doPing(id string, signal chan int, client redis.AsyncClient, cnt int) { var fr redis.FutureBool for i := 0; i < cnt; i++ { fr, _ = client.Ping() } fr.Get() signal <- 1 }
func doDecr(id string, signal chan int, client redis.AsyncClient, cnt int) { var fr redis.FutureInt64 key := "ctr-" + id for i := 0; i < cnt; i++ { fr, _ = client.Decr(key) } fr.Get() signal <- 1 }
func setup(client redis.AsyncClient) { fr, e := client.Flushdb() if e != nil { log.Println("Error creating client for worker: ", e) log.Println("fr: ", fr) panic(e) } frr, e2 := fr.Get() if e2 != nil { log.Println("Error creating client for worker: ", e2) log.Println("frr: ", frr) panic(e) } }
func QuitAsyncClient(t *testing.T, client redis.AsyncClient) { // flush it fstat, e := client.Quit() if e != nil { t.Fatalf("on Quit - %s", e) } ok, fe := fstat.Get() if fe != nil { t.Fatalf("on fstat.Get() - %s", fe) } if !ok { t.Fatalf("fstat.Get() returned false") } }
func doIncr(id string, signal chan int, client redis.AsyncClient, cnt int) { key := "ctr-" + id var fr redis.FutureInt64 for i := 0; i < cnt; i++ { fr, _ = client.Incr(key) } v, _ := fr.Get() if v != int64(cnt) { log.Fatalf("BUG: expecting counter %s to be %d but it is %d\n", key, cnt, v) panic(1) } // debug sanity check // log.Printf("worker[%s] - last INCR result %s=%d\n", id, key, v) signal <- 1 }