From 4eea096654be1f53e217ec61189d479d2f89b4bc Mon Sep 17 00:00:00 2001 From: JustSong Date: Sun, 23 Jul 2023 19:26:37 +0800 Subject: [PATCH] chore: do not hardcode cache time (close #302) --- common/constants.go | 2 ++ main.go | 1 + model/cache.go | 20 ++++++++++---------- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/common/constants.go b/common/constants.go index eb5d8799d8..81f9816344 100644 --- a/common/constants.go +++ b/common/constants.go @@ -77,6 +77,8 @@ var IsMasterNode = os.Getenv("NODE_TYPE") != "slave" var requestInterval, _ = strconv.Atoi(os.Getenv("POLLING_INTERVAL")) var RequestInterval = time.Duration(requestInterval) * time.Second +var SyncFrequency = 10 * 60 // unit is second, will be overwritten by SYNC_FREQUENCY + const ( RoleGuestUser = 0 RoleCommonUser = 1 diff --git a/main.go b/main.go index 2737791d4b..d6d0c75b88 100644 --- a/main.go +++ b/main.go @@ -54,6 +54,7 @@ func main() { if err != nil { common.FatalLog("failed to parse SYNC_FREQUENCY: " + err.Error()) } + common.SyncFrequency = frequency go model.SyncOptions(frequency) if common.RedisEnabled { go model.SyncChannelCache(frequency) diff --git a/model/cache.go b/model/cache.go index 284e29ad9a..64666c86b2 100644 --- a/model/cache.go +++ b/model/cache.go @@ -12,11 +12,11 @@ import ( "time" ) -const ( - TokenCacheSeconds = 60 * 60 - UserId2GroupCacheSeconds = 60 * 60 - UserId2QuotaCacheSeconds = 10 * 60 - UserId2StatusCacheSeconds = 60 * 60 +var ( + TokenCacheSeconds = common.SyncFrequency + UserId2GroupCacheSeconds = common.SyncFrequency + UserId2QuotaCacheSeconds = common.SyncFrequency + UserId2StatusCacheSeconds = common.SyncFrequency ) func CacheGetTokenByKey(key string) (*Token, error) { @@ -35,7 +35,7 @@ func CacheGetTokenByKey(key string) (*Token, error) { if err != nil { return nil, err } - err = common.RedisSet(fmt.Sprintf("token:%s", key), string(jsonBytes), TokenCacheSeconds*time.Second) + err = common.RedisSet(fmt.Sprintf("token:%s", key), string(jsonBytes), time.Duration(TokenCacheSeconds)*time.Second) if err != nil { common.SysError("Redis set token error: " + err.Error()) } @@ -55,7 +55,7 @@ func CacheGetUserGroup(id int) (group string, err error) { if err != nil { return "", err } - err = common.RedisSet(fmt.Sprintf("user_group:%d", id), group, UserId2GroupCacheSeconds*time.Second) + err = common.RedisSet(fmt.Sprintf("user_group:%d", id), group, time.Duration(UserId2GroupCacheSeconds)*time.Second) if err != nil { common.SysError("Redis set user group error: " + err.Error()) } @@ -73,7 +73,7 @@ func CacheGetUserQuota(id int) (quota int, err error) { if err != nil { return 0, err } - err = common.RedisSet(fmt.Sprintf("user_quota:%d", id), fmt.Sprintf("%d", quota), UserId2QuotaCacheSeconds*time.Second) + err = common.RedisSet(fmt.Sprintf("user_quota:%d", id), fmt.Sprintf("%d", quota), time.Duration(UserId2QuotaCacheSeconds)*time.Second) if err != nil { common.SysError("Redis set user quota error: " + err.Error()) } @@ -91,7 +91,7 @@ func CacheUpdateUserQuota(id int) error { if err != nil { return err } - err = common.RedisSet(fmt.Sprintf("user_quota:%d", id), fmt.Sprintf("%d", quota), UserId2QuotaCacheSeconds*time.Second) + err = common.RedisSet(fmt.Sprintf("user_quota:%d", id), fmt.Sprintf("%d", quota), time.Duration(UserId2QuotaCacheSeconds)*time.Second) return err } @@ -106,7 +106,7 @@ func CacheIsUserEnabled(userId int) bool { status = common.UserStatusEnabled } enabled = fmt.Sprintf("%d", status) - err = common.RedisSet(fmt.Sprintf("user_enabled:%d", userId), enabled, UserId2StatusCacheSeconds*time.Second) + err = common.RedisSet(fmt.Sprintf("user_enabled:%d", userId), enabled, time.Duration(UserId2StatusCacheSeconds)*time.Second) if err != nil { common.SysError("Redis set user enabled error: " + err.Error()) }