core/with/memory.go

40 lines
842 B
Go

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)
}