Răsfoiți Sursa

chore: do not hardcode cache time (close #302)

JustSong 2 ani în urmă
părinte
comite
4eea096654
3 a modificat fișierele cu 13 adăugiri și 10 ștergeri
  1. 2 0
      common/constants.go
  2. 1 0
      main.go
  3. 10 10
      model/cache.go

+ 2 - 0
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

+ 1 - 0
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)

+ 10 - 10
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())
 		}