refactor: Optimize user caching and token retrieval methods

This commit is contained in:
1808837298@qq.com
2025-02-19 15:12:26 +08:00
parent 0907a078b4
commit b1847509a4
7 changed files with 21 additions and 8 deletions

View File

@@ -79,7 +79,7 @@ func GetUserCache(userId int) (userCache *UserBase, err error) {
}()
// Try getting from Redis first
err = common.RedisHGetObj(getUserCacheKey(userId), &userCache)
userCache, err = cacheGetUserBase(userId)
if err == nil {
return userCache, nil
}
@@ -105,6 +105,19 @@ func GetUserCache(userId int) (userCache *UserBase, err error) {
return userCache, nil
}
func cacheGetUserBase(userId int) (*UserBase, error) {
if !common.RedisEnabled {
return nil, fmt.Errorf("redis is not enabled")
}
var userCache UserBase
// Try getting from Redis first
err := common.RedisHGetObj(getUserCacheKey(userId), &userCache)
if err != nil {
return nil, err
}
return &userCache, nil
}
// Add atomic quota operations using hash fields
func cacheIncrUserQuota(userId int, delta int64) error {
if !common.RedisEnabled {