package cache import ( "server/internal/db/sqlc" "github.com/maypok86/otter/v2" ) type Caches struct { SysUserApisCache *otter.Cache[int32, []db.GetSysUserApisRow] } func NewCaches() *Caches { sysUserApisCache := otter.Must(&otter.Options[int32, []db.GetSysUserApisRow]{ MaximumSize: 1_000, }) return &Caches{ SysUserApisCache: sysUserApisCache, } } // ClearSysUserCache 清理单个用户缓存 func (c *Caches) ClearSysUserCache(userID int32) { c.SysUserApisCache.Invalidate(userID) } // ClearAllSysUserCache 清理所有用户缓存 func (c *Caches) ClearAllSysUserCache() { c.SysUserApisCache.InvalidateAll() }