From 512aa03292cd13daebf5036c096c68f95d137366 Mon Sep 17 00:00:00 2001 From: iamhujiebin <458249864@qq.com> Date: Mon, 24 Jul 2023 22:38:57 +0800 Subject: [PATCH] bannedGroupCache --- domain/model/group_m/groupBanned.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/domain/model/group_m/groupBanned.go b/domain/model/group_m/groupBanned.go index c7e1b4f..879f806 100644 --- a/domain/model/group_m/groupBanned.go +++ b/domain/model/group_m/groupBanned.go @@ -3,6 +3,8 @@ package group_m import ( "git.hilo.cn/hilo-common/domain" "git.hilo.cn/hilo-common/resource/mysql" + "github.com/bluele/gcache" + "time" ) type GroupBanned struct { @@ -24,12 +26,20 @@ func (banned *GroupBanned) Delete(model *domain.Model) error { return model.Db.Where(banned).Delete(&GroupBanned{}).Error } +var bannedGroupCache = gcache.New(100).LRU().Build() + func GetBannedGroups(model *domain.Model) ([]GroupBanned, error) { + key := "banned" + if data, err := bannedGroupCache.Get(key); err == nil { + model.Log.Infof("GetBannedGroups cache:%v", len(data.([]GroupBanned))) + return data.([]GroupBanned), nil + } result := make([]GroupBanned, 0) err := model.Db.Find(&result).Error if err != nil { return nil, err } + bannedGroupCache.SetWithExpire(key, result, time.Minute*5) return result, nil } -- 2.22.0