local cache

This commit is contained in:
withchao 2024-01-10 16:03:49 +08:00
parent a84ad774f7
commit 2d21ab3aeb

View File

@ -32,15 +32,23 @@ type cache[V any] struct {
} }
func (c *cache[V]) onEvict(key string, value V) { func (c *cache[V]) onEvict(key string, value V) {
for k := range c.link.Del(key) { lks := c.link.Del(key)
for k := range lks {
c.local.Del(k) c.local.Del(k)
} }
} }
func (c *cache[V]) del(key ...string) { func (c *cache[V]) del(key ...string) {
for _, k := range key { for _, k := range key {
lks := c.link.Del(k)
c.local.Del(k) c.local.Del(k)
//fmt.Println(">>>", lks)
for k := range lks {
c.local.Del(k)
//fmt.Println("+++", k)
}
} }
//fmt.Println()
} }
func (c *cache[V]) Get(ctx context.Context, key string, fetch func(ctx context.Context) (V, error), opts ...*opt.Option) (V, error) { func (c *cache[V]) Get(ctx context.Context, key string, fetch func(ctx context.Context) (V, error), opts ...*opt.Option) (V, error) {