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  }