func workerGetSetNew(client memcache_new.Cacher, wg *sync.WaitGroup, ch <-chan int, stats *Stats) { defer wg.Done() var item memcache_new.Item for _ = range ch { n := rand.Intn(*itemsCount) item.Key = []byte(fmt.Sprintf("%s_%d", key, n)) startTime := time.Now() if rand.Float64() < *getRatio { err := client.Get(&item) if err == memcache_new.ErrCacheMiss { stats.cacheMissCount++ continue } if err != nil { stats.errorsCount++ continue } stats.cacheHitCount++ updateResponseTimeHistogram(stats, startTime) } else { item.Value = value if err := client.Set(&item); err != nil { stats.errorsCount++ continue } updateResponseTimeHistogram(stats, startTime) } } }
func workerGetMissNew(client memcache_new.Cacher, wg *sync.WaitGroup, ch <-chan int, stats *Stats) { defer wg.Done() var item memcache_new.Item for _ = range ch { n := rand.Intn(*itemsCount) item.Key = []byte(fmt.Sprintf("miss_%s_%d", key, n)) startTime := time.Now() if err := client.Get(&item); err != memcache_new.ErrCacheMiss { stats.errorsCount++ continue } stats.cacheMissCount++ updateResponseTimeHistogram(stats, startTime) } }