Use fastcache instead of ristretto

This commit is contained in:
9seconds
2019-11-11 16:05:19 +03:00
parent 6732e80d06
commit ae479adeaa
5 changed files with 28 additions and 35 deletions
+10 -12
View File
@@ -1,6 +1,6 @@
package antireplay
import "github.com/dgraph-io/ristretto"
import "github.com/VictoriaMetrics/fastcache"
var (
prefixObfuscated2 = []byte{0x00}
@@ -8,31 +8,29 @@ var (
)
type cache struct {
data *ristretto.Cache
data *fastcache.Cache
}
func (c *cache) AddObfuscated2(data []byte) {
c.data.Set(keyObfuscated2(data), nil, int64(len(data)))
c.data.Set(keyObfuscated2(data), nil)
}
func (c *cache) AddTLS(data []byte) {
c.data.Set(keyTLS(data), nil, int64(len(data)))
c.data.Set(keyTLS(data), nil)
}
func (c *cache) HasObfuscated2(data []byte) bool {
_, ok := c.data.Get(keyObfuscated2(data))
return ok
return c.data.Has(keyObfuscated2(data))
}
func (c *cache) HasTLS(data []byte) bool {
_, ok := c.data.Get(keyTLS(data))
return ok
return c.data.Has(keyTLS(data))
}
func keyObfuscated2(data []byte) string {
return string(append(prefixObfuscated2, data...))
func keyObfuscated2(data []byte) []byte {
return append(prefixObfuscated2, data...)
}
func keyTLS(data []byte) string {
return string(append(prefixTLS, data...))
func keyTLS(data []byte) []byte {
return append(prefixTLS, data...)
}
+2 -16
View File
@@ -1,10 +1,9 @@
package antireplay
import (
"math"
"sync"
"github.com/dgraph-io/ristretto"
"github.com/VictoriaMetrics/fastcache"
"mtg/config"
)
@@ -16,19 +15,6 @@ var (
func Init() {
initOnce.Do(func() {
cost := float64(config.C.AntiReplayMaxSize) / 32.0
cost = math.Ceil(cost)
c, err := ristretto.NewCache(&ristretto.Config{
NumCounters: int64(cost) * 10,
MaxCost: config.C.AntiReplayMaxSize,
BufferItems: 64,
Metrics: false,
})
if err != nil {
panic(err)
}
Cache.data = c
Cache.data = fastcache.New(config.C.AntiReplayMaxSize)
})
}