github.com/angenalZZZ/gofunc@v0.0.0-20210507121333-48ff1be3917b/data/cache/store/redis_bench_test.go (about) 1 package store 2 3 import ( 4 "fmt" 5 "math" 6 "testing" 7 8 redis "github.com/go-redis/redis/v7" 9 ) 10 11 func BenchmarkRedisSet(b *testing.B) { 12 store := NewRedis(redis.NewClient(&redis.Options{ 13 Addr: "127.0.0.1:6379", 14 }), nil) 15 16 for k := 0.; k <= 10; k++ { 17 n := int(math.Pow(2, k)) 18 b.Run(fmt.Sprintf("%d", n), func(b *testing.B) { 19 for i := 0; i < b.N*n; i++ { 20 key := fmt.Sprintf("test-%d", n) 21 value := []byte(fmt.Sprintf("value-%d", n)) 22 23 _ = store.Set(key, value, &Options{ 24 Tags: []string{fmt.Sprintf("tag-%d", n)}, 25 }) 26 } 27 }) 28 } 29 } 30 31 func BenchmarkRedisGet(b *testing.B) { 32 store := NewRedis(redis.NewClient(&redis.Options{ 33 Addr: "127.0.0.1:6379", 34 }), nil) 35 36 key := "test" 37 value := []byte("value") 38 39 _ = store.Set(key, value, nil) 40 41 for k := 0.; k <= 10; k++ { 42 n := int(math.Pow(2, k)) 43 b.Run(fmt.Sprintf("%d", n), func(b *testing.B) { 44 for i := 0; i < b.N*n; i++ { 45 _, _ = store.Get(key) 46 } 47 }) 48 } 49 }