diff --git a/cache/mem/mem.go b/cache/mem/mem.go deleted file mode 100644 index 0de3b98..0000000 --- a/cache/mem/mem.go +++ /dev/null @@ -1,14 +0,0 @@ -package mem - -import ( - "git.apinb.com/bsm-sdk/core/vars" - "github.com/FishGoddess/cachego" -) - -func New() cachego.Cache { - return cachego.NewCache( - cachego.WithGC(vars.MemGcDuration), - cachego.WithShardings(vars.MemShardings), - cachego.WithLFU(vars.MemLRUMaxNumber), - ) -} diff --git a/with/memory.go b/with/memory.go new file mode 100644 index 0000000..caf8eef --- /dev/null +++ b/with/memory.go @@ -0,0 +1,39 @@ +package with + +import ( + "context" + "encoding/json" + "time" + + "git.apinb.com/bsm-sdk/core/print" + "git.apinb.com/bsm-sdk/core/vars" + "github.com/allegro/bigcache/v3" +) + +func Memory(opts *bigcache.Config, cli *bigcache.BigCache) { + config := bigcache.Config{ + Shards: 1024, + LifeWindow: 10 * time.Minute, + CleanWindow: 5 * time.Minute, + MaxEntriesInWindow: 1000 * 10 * 60, + MaxEntrySize: 500, + Verbose: true, + HardMaxCacheSize: 8192, + OnRemove: nil, + OnRemoveWithReason: nil, + } + + if opts != nil { + config = *opts + } + + var err error + cli, err = bigcache.New(context.Background(), config) + if err != nil { + print.Error("Memory Cache Fatal Error") + panic(err) + } + + jsonBytes, _ := json.Marshal(config) + print.Success("[BSM - %s] Memory Cache: %s", vars.ServiceKey, jsonBytes) +} diff --git a/with/cache.go b/with/redis.go similarity index 100% rename from with/cache.go rename to with/redis.go