Files
EasyGoAdmin_GoFrame_EleVue/internal/consts/cache_key.go
T
2026-10-20 11:37:25 +08:00

60 lines
1.9 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package consts
import "fmt"
// ============================== 缓存键 ==============================
// CacheKeyPrefix Redis缓存键统一前缀
const CacheKeyPrefix = "easygoadmin:"
// CacheKeyTokenBlacklist Token黑名单缓存键
// TTL 为 token 剩余有效期
func CacheKeyTokenBlacklist(jti string) string {
return fmt.Sprintf("%stoken:blacklist:%s", CacheKeyPrefix, jti)
}
// CacheKeyOnlineJtiSet 在线令牌有序集合键(score=访问令牌过期时间戳)
func CacheKeyOnlineJtiSet() string {
return fmt.Sprintf("%sonline:jti:set", CacheKeyPrefix)
}
// CacheKeyOnlineInfo 在线令牌详情键(value=在线信息 JSON)
func CacheKeyOnlineInfo(jti string) string {
return fmt.Sprintf("%sonline:info:%s", CacheKeyPrefix, jti)
}
// CacheKeyCaptcha 图形验证码缓存键
// TTL 为 captcha.expire 配置值
func CacheKeyCaptcha(uuid string) string {
return fmt.Sprintf("%scaptcha:%s", CacheKeyPrefix, uuid)
}
// CacheKeyDictItem 字典项集合缓存键
// 按字典编码缓存
func CacheKeyDictItem(code string) string {
return fmt.Sprintf("%sdict:item:%s", CacheKeyPrefix, code)
}
// CacheKeyTenantInfo 租户信息缓存键
// TTL 为 60 秒,用于状态与过期校验热路径
func CacheKeyTenantInfo(tenantID int) string {
return fmt.Sprintf("%stenant:info:%d", CacheKeyPrefix, tenantID)
}
// CacheKeyUserPerms 用户权限点集合缓存键
// 角色变更或菜单变更时删除
func CacheKeyUserPerms(userID int) string {
return fmt.Sprintf("%suser:perms:%d", CacheKeyPrefix, userID)
}
// CacheKeyUserRoles 用户角色编码集合缓存键
func CacheKeyUserRoles(userID int) string {
return fmt.Sprintf("%suser:roles:%d", CacheKeyPrefix, userID)
}
// CacheKeyUserIdentity 用户身份缓存键
// 由 roles 与 perms 合并为 JSON,TTL 为 300 秒,权限变更时删除
func CacheKeyUserIdentity(userID int) string {
return fmt.Sprintf("%suser:identity:%d", CacheKeyPrefix, userID)
}