Files
blog-server/internal/pkg/cache/cache.go
2026-07-22 17:50:33 +08:00

32 lines
635 B
Go

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()
}