fix: fix redis error

This commit is contained in:
CaIon 2024-01-26 15:52:23 +08:00
parent 3dc5d4d95a
commit 70bdb8ca90
2 changed files with 8 additions and 1 deletions

View File

@ -57,6 +57,11 @@ func RedisGet(key string) (string, error) {
return RDB.Get(ctx, key).Result()
}
func RedisExpire(key string, expiration time.Duration) error {
ctx := context.Background()
return RDB.Expire(ctx, key, expiration).Err()
}
func RedisGetEx(key string, expiration time.Duration) (string, error) {
ctx := context.Background()
return RDB.GetSet(ctx, key, expiration).Result()

View File

@ -49,7 +49,7 @@ func CacheGetTokenByKey(key string) (*Token, error) {
return GetTokenByKey(key)
}
var token *Token
tokenObjectString, err := common.RedisGetEx(fmt.Sprintf("token:%s", key), time.Duration(TokenCacheSeconds)*time.Second)
tokenObjectString, err := common.RedisGet(fmt.Sprintf("token:%s", key))
if err != nil {
// 如果缓存中不存在,则从数据库中获取
token, err = GetTokenByKey(key)
@ -59,6 +59,8 @@ func CacheGetTokenByKey(key string) (*Token, error) {
err = cacheSetToken(token)
return token, nil
}
// 如果缓存中存在,则续期时间
err = common.RedisExpire(fmt.Sprintf("token:%s", key), time.Duration(TokenCacheSeconds)*time.Second)
err = json.Unmarshal([]byte(tokenObjectString), &token)
return token, err
}