Commit 512aa032 authored by iamhujiebin's avatar iamhujiebin

bannedGroupCache

parent 32dff1b1
...@@ -3,6 +3,8 @@ package group_m ...@@ -3,6 +3,8 @@ package group_m
import ( import (
"git.hilo.cn/hilo-common/domain" "git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/resource/mysql" "git.hilo.cn/hilo-common/resource/mysql"
"github.com/bluele/gcache"
"time"
) )
type GroupBanned struct { type GroupBanned struct {
...@@ -24,12 +26,20 @@ func (banned *GroupBanned) Delete(model *domain.Model) error { ...@@ -24,12 +26,20 @@ func (banned *GroupBanned) Delete(model *domain.Model) error {
return model.Db.Where(banned).Delete(&GroupBanned{}).Error return model.Db.Where(banned).Delete(&GroupBanned{}).Error
} }
var bannedGroupCache = gcache.New(100).LRU().Build()
func GetBannedGroups(model *domain.Model) ([]GroupBanned, error) { 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) result := make([]GroupBanned, 0)
err := model.Db.Find(&result).Error err := model.Db.Find(&result).Error
if err != nil { if err != nil {
return nil, err return nil, err
} }
bannedGroupCache.SetWithExpire(key, result, time.Minute*5)
return result, nil return result, nil
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment