作者:abm
项目:go_sandbo
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
}
作者:abm
项目:go_sandbo
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
}
作者:abm
项目:go_sandbo
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
}
作者:abm
项目:go_sandbo
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
}
作者:abm
项目:go_sandbo
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
}
作者:abm
项目:go_sandbo
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
}
作者:abm
项目:go_sandbo
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)
}
}
作者:abm
项目:go_sandbo
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")
}
}
作者:abm
项目:go_sandbo
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
}