package utils import ( cache "github.com/patrickmn/go-cache" "sync" "time" ) var lock sync.Mutex var msgCache = cache.New(12*time.Hour, 12*time.Hour) func PutCache(unionId, groupId string) { lock.Lock() defer lock.Unlock() msgCache.Set(unionId, groupId, time.Hour*12) } func GetCache(unionId string) string { lock.Lock() defer lock.Unlock() msg, found := msgCache.Get(unionId) if found { return msg.(string) } return "" } func Clear(unionId string) { lock.Lock() defer lock.Unlock() msgCache.Delete(unionId) }