diff --git a/go.mod b/go.mod index 33c35ba1..cb4fbcb2 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,6 @@ go 1.13 require ( github.com/BurntSushi/toml v0.3.1 - github.com/ReneKroon/ttlcache v1.6.0 github.com/beevik/ntp v0.2.0 github.com/bitly/go-simplejson v0.5.0 github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect @@ -47,6 +46,7 @@ require ( github.com/nats-io/nats.go v1.9.1 github.com/nlopes/slack v0.6.1-0.20191106133607-d06c2a2b3249 github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c + github.com/patrickmn/go-cache v2.1.0+incompatible github.com/pkg/errors v0.9.1 github.com/soheilhy/cmux v0.1.4 // indirect github.com/stretchr/testify v1.4.0 diff --git a/go.sum b/go.sum index c0cf2229..17c35f27 100644 --- a/go.sum +++ b/go.sum @@ -35,8 +35,6 @@ github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tT github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c h1:YMP6olTU903X3gxQJckdmiP8/zkSMq4kN3uipsU9XjU= github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c/go.mod h1:7xhjOwRV2+0HXGmM0jxaEu+ZiXJFoVZOTfL/dmqbrD8= github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87/go.mod h1:iGLljf5n9GjT6kc0HBvyI1nOKnGQbNB66VzSNbK5iks= -github.com/ReneKroon/ttlcache v1.6.0 h1:aO+GDNVKTQmcuI0H78PXCR9E59JMiGfSXHAkVBUlzbA= -github.com/ReneKroon/ttlcache v1.6.0/go.mod h1:DG6nbhXKUQhrExfwwLuZUdH7UnRDDRA1IW+nBuCssvs= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/akamai/AkamaiOPEN-edgegrid-golang v0.9.0/go.mod h1:zpDJeKyp9ScW4NNrbdr+Eyxvry3ilGPewKoXw3XGN1k= @@ -349,6 +347,8 @@ github.com/oracle/oci-go-sdk v7.0.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukw github.com/ovh/go-ovh v0.0.0-20181109152953-ba5adb4cf014/go.mod h1:joRatxRJaZBsY3JAOEMcoOp05CnZzsx4scTxi95DHyQ= github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c h1:rp5dCmg/yLR3mgFuSOe4oEnDDmGLROTvMragMUXpTQw= github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c/go.mod h1:X07ZCGwUbLaax7L0S3Tw4hpejzu63ZrrQiUe6W0hcy0= +github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= +github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -436,8 +436,6 @@ go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0 h1:OI5t8sDa1Or+q8AeE+yKeB/SDYioSHAgcVljj9JIETY= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/goleak v0.10.0 h1:G3eWbSNIskeRqtsN/1uI5B+eP73y3JUuBsv9AZjehb4= -go.uber.org/goleak v0.10.0/go.mod h1:VCZuO8V8mFPlL0F5J5GK1rtHV3DrFcQ1R8ryq7FK0aI= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0 h1:sFPn2GLc3poCkfrpIXGhBD2X0CMIo4Q/zSULXrj/+uc= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= diff --git a/store/cloudflare/cloudflare.go b/store/cloudflare/cloudflare.go index fcf38778..52505508 100644 --- a/store/cloudflare/cloudflare.go +++ b/store/cloudflare/cloudflare.go @@ -20,7 +20,7 @@ import ( "github.com/micro/go-micro/v2/store" "github.com/pkg/errors" - "github.com/ReneKroon/ttlcache" + "github.com/patrickmn/go-cache" ) const ( @@ -38,7 +38,7 @@ type workersKV struct { // http client to use httpClient *http.Client // cache - cache *ttlcache.Cache + cache *cache.Cache } // apiResponse is a cloudflare v4 api response @@ -113,9 +113,7 @@ func (w *workersKV) Init(opts ...store.Option) error { if !ok { log.Fatal("STORE_CACHE_TTL from context must be type int64") } - w.cache = ttlcache.NewCache() - w.cache.SetTTL(ttlduration) - w.cache.SkipTtlExtensionOnHit(true) + w.cache = cache.New(ttlduration, 3*ttlduration) } return nil } @@ -233,7 +231,7 @@ func (w *workersKV) Read(key string, opts ...store.ReadOption) ([]*store.Record, } record.Expiry = time.Until(time.Unix(expiryUnix, 0)) } - w.cache.Set(record.Key, record) + w.cache.Set(record.Key, record, cache.DefaultExpiration) records = append(records, record) } @@ -243,7 +241,7 @@ func (w *workersKV) Read(key string, opts ...store.ReadOption) ([]*store.Record, func (w *workersKV) Write(r *store.Record) error { // Set it in local cache, with the global TTL from options if w.cache != nil { - w.cache.Set(r.Key, r) + w.cache.Set(r.Key, r, cache.DefaultExpiration) } ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) defer cancel() @@ -280,7 +278,7 @@ func (w *workersKV) Write(r *store.Record) error { func (w *workersKV) Delete(key string) error { if w.cache != nil { - w.cache.Remove(key) + w.cache.Delete(key) } ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) defer cancel()