package constants import "fmt" // ======================================== // 认证相关 Redis Key // ======================================== // RedisAuthTokenKey 生成访问令牌的 Redis 键 // 用途:存储用户 access token 信息 // 过期时间:24 小时(可配置) func RedisAuthTokenKey(token string) string { return fmt.Sprintf("auth:token:%s", token) } // RedisRefreshTokenKey 生成刷新令牌的 Redis 键 // 用途:存储用户 refresh token 信息 // 过期时间:7 天(可配置) func RedisRefreshTokenKey(token string) string { return fmt.Sprintf("auth:refresh:%s", token) } // RedisUserTokensKey 生成用户令牌列表的 Redis 键 // 用途:维护用户的所有有效 token 列表(Set 结构) // 过期时间:7 天(可配置) func RedisUserTokensKey(userID uint) string { return fmt.Sprintf("auth:user:%d:tokens", userID) } // RedisRateLimitKey 生成限流的 Redis 键 func RedisRateLimitKey(ip string) string { return fmt.Sprintf("ratelimit:%s", ip) } // RedisTaskLockKey 生成任务锁的 Redis 键 // 用途:幂等性控制,防止重复执行 // 过期时间:24 小时 func RedisTaskLockKey(requestID string) string { return fmt.Sprintf("task:lock:%s", requestID) } // RedisTaskStatusKey 生成任务状态的 Redis 键 // 用途:存储任务执行状态 // 过期时间:7 天 func RedisTaskStatusKey(taskID string) string { return fmt.Sprintf("task:status:%s", taskID) } // RedisShopSubordinatesKey 生成店铺下级 ID 列表的 Redis 键 // 用途:缓存递归查询的下级店铺 ID 列表 // 过期时间:30 分钟 func RedisShopSubordinatesKey(shopID uint) string { return fmt.Sprintf("shop:subordinates:%d", shopID) } // RedisVerificationCodeKey 生成验证码的 Redis 键 // 用途:存储手机验证码 // 过期时间:5 分钟 func RedisVerificationCodeKey(phone string) string { return fmt.Sprintf("verification:code:%s", phone) } // RedisVerificationCodeLimitKey 生成验证码发送频率限制的 Redis 键 // 用途:限制验证码发送频率 // 过期时间:60 秒 func RedisVerificationCodeLimitKey(phone string) string { return fmt.Sprintf("verification:limit:%s", phone) } // ======================================== // 钱包相关 Redis Key // ======================================== // RedisWalletLockKey 生成钱包操作锁的 Redis 键 // 用途:钱包余额变更时的分布式锁,防止并发冲突 // 过期时间:10 秒 func RedisWalletLockKey(walletID uint) string { return fmt.Sprintf("wallet:lock:%d", walletID) } // RedisWalletBalanceKey 生成钱包余额缓存的 Redis 键 // 用途:缓存钱包余额,减少数据库查询 // 过期时间:5 分钟 func RedisWalletBalanceKey(walletID uint) string { return fmt.Sprintf("wallet:balance:%d", walletID) } // RedisRechargeOrderKey 生成充值订单缓存的 Redis 键 // 用途:充值订单状态查询缓存 // 过期时间:1 小时 func RedisRechargeOrderKey(rechargeNo string) string { return fmt.Sprintf("recharge:order:%s", rechargeNo) } // RedisWalletTransactionKey 生成钱包交易幂等性的 Redis 键 // 用途:防止重复交易 // 过期时间:24 小时 func RedisWalletTransactionKey(requestID string) string { return fmt.Sprintf("wallet:transaction:%s", requestID) } // ======================================== // 标签相关 Redis Key // ======================================== // RedisTagCacheKey 生成标签缓存的 Redis 键 // 用途:缓存热门标签列表 // 过期时间:1 小时 func RedisTagCacheKey() string { return "tag:cache:list" } // RedisResourceTagsKey 生成资源标签关联缓存的 Redis 键 // 用途:缓存资源的标签列表 // 过期时间:30 分钟 func RedisResourceTagsKey(resourceType string, resourceID uint) string { return fmt.Sprintf("resource:tags:%s:%d", resourceType, resourceID) }