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 load(r redis.AsyncClient, k string, w http.ResponseWriter) (obj interface{}) { f, rerr := r.Get(k) if rerr != nil { panic(rerr) } val, rerr, timeout := f.TryGet(50000000000) if rerr != nil { panic(rerr) } if timeout { loadtimeout++ log.Println("load timeout! count: ", loadtimeout) fmt.Fprintf(w, "Save failed for %s", key) return } zr, err := zlib.NewReader(bytes.NewReader(val)) if err != nil { log.Fatal("Failed to create zlib reader with error: ", err) } defer zr.Close() jd := json.NewDecoder(zr) err = jd.Decode(&obj) if err != nil { log.Fatal("Failed to decode json with error: ", err) } return }
func load(r redis.AsyncClient, k string, w http.ResponseWriter) (obj interface{}) { f, rerr := r.Get(k) if rerr != nil { panic(rerr) } val, rerr, timeout := f.TryGet(50000000000) if rerr != nil { panic(rerr) } if timeout { loadtimeout++ log.Println("load timeout! count: ", loadtimeout) fmt.Fprintf(w, "Save failed for %s", key) return } setPromise, srerr := r.Set(key, val) if srerr != nil { panic(rerr) } _, grerr, timeout := setPromise.TryGet(50000000000) if grerr != nil { panic(rerr) } if timeout { savetimeout++ log.Println("save timeout! count: ", savetimeout) fmt.Fprintf(w, "Save failed for %s", key) } return }