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() 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) { func RedisGetEx(key string, expiration time.Duration) (string, error) {
ctx := context.Background() ctx := context.Background()
return RDB.GetSet(ctx, key, expiration).Result() return RDB.GetSet(ctx, key, expiration).Result()

View File

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