123456789101112131415161718192021222324252627282930313233343536373839 |
- package cache
- import (
- "time"
- "github.com/dgraph-io/ristretto/v2"
- "github.com/uozi-tech/cosy/logger"
- )
- var cache *ristretto.Cache[string, any]
- func Init() {
- var err error
- cache, err = ristretto.NewCache[string, any](&ristretto.Config[string, any]{
- NumCounters: 1e7, // number of keys to track frequency of (10M).
- MaxCost: 1 << 30, // maximum cost of cache (1GB).
- BufferItems: 64, // number of keys per Get buffer.
- })
- if err != nil {
- logger.Fatal("initializing local cache err", err)
- }
- // Initialize the config scanner
- InitScanner()
- }
- func Set(key string, value interface{}, ttl time.Duration) {
- cache.SetWithTTL(key, value, 0, ttl)
- cache.Wait()
- }
- func Get(key string) (value interface{}, ok bool) {
- return cache.Get(key)
- }
- func Del(key string) {
- cache.Del(key)
- }
|