Ver Fonte

feat: update cache #204

CaIon há 1 ano atrás
pai
commit
65b85377c6
3 ficheiros alterados com 13 adições e 1 exclusões
  1. 5 1
      model/cache.go
  2. 3 0
      model/token.go
  3. 5 0
      model/user.go

+ 5 - 1
model/cache.go

@@ -168,7 +168,11 @@ func CacheUpdateUserQuota(id int) error {
 	if err != nil {
 		return err
 	}
-	err = common.RedisSet(fmt.Sprintf("user_quota:%d", id), fmt.Sprintf("%d", quota), time.Duration(UserId2QuotaCacheSeconds)*time.Second)
+	return CacheSetUserQuota(id, quota)
+}
+
+func CacheSetUserQuota(id int, quota int) error {
+	err := common.RedisSet(fmt.Sprintf("user_quota:%d", id), fmt.Sprintf("%d", quota), time.Duration(UserId2QuotaCacheSeconds)*time.Second)
 	return err
 }
 

+ 3 - 0
model/token.go

@@ -102,6 +102,9 @@ func GetTokenById(id int) (*Token, error) {
 	token := Token{Id: id}
 	var err error = nil
 	err = DB.First(&token, "id = ?", id).Error
+	if err != nil {
+		go cacheSetToken(&token)
+	}
 	return &token, err
 }
 

+ 5 - 0
model/user.go

@@ -410,6 +410,11 @@ func ValidateAccessToken(token string) (user *User) {
 
 func GetUserQuota(id int) (quota int, err error) {
 	err = DB.Model(&User{}).Where("id = ?", id).Select("quota").Find(&quota).Error
+	if err != nil {
+		if common.RedisEnabled {
+			go CacheSetUserQuota(id, quota)
+		}
+	}
 	return quota, err
 }