package main import ( "runtime" "strconv" "time" "gitee.com/wecisecode/util/logger" "github.com/bluele/gcache" ) func main() { cache := gcache.New(3000000).LRU().Build() for i := 0; i < 400000; i++ { if i%10000 == 0 { logger.Info("set now ==>", i) } cache.Set("straaaa"+strconv.Itoa(i), struct{}{}) } st := time.Now().UnixNano() for i := 0; i < 400000; i++ { cache.Get("straaaa" + strconv.Itoa(i)) } ed := time.Now().UnixNano() logger.Info("diff ==>", (ed-st)/1e6) var mem runtime.MemStats runtime.ReadMemStats(&mem) logger.Infof("TotalAlloc = %v MiB", mem.TotalAlloc/1024/1024) time.Sleep(100 * time.Second) /*caches := []gcache.Cache{} for i:=0 ; i<5 ; i++ { v := gcache.New(1000000).LRU().Build() caches =append(caches, v) } for k:=0 ; k<200000 ; k++ { for i:=0 ; i<5 ; i++ { caches[i].Set("straaaa"+strconv.Itoa(k), struct{}{}) } } st := time.Now().UnixNano() for i:=0 ; i<100000 ; i++ { caches[i%5].Get("straaaa"+strconv.Itoa(i)) } ed := time.Now().UnixNano() logger.Info("diff ==>", (ed-st)/1e6 ) var mem runtime.MemStats runtime.ReadMemStats(&mem) logger.Infof("TotalAlloc = %v MiB", mem.TotalAlloc/1024/1024) time.Sleep(100*time.Second)*/ }