32 lines
635 B
Go
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()
|
|
}
|