This commit is contained in:
2024-08-17 12:04:33 +08:00
commit c13f9b8b82
12 changed files with 791 additions and 0 deletions

51
callback.go Normal file
View File

@@ -0,0 +1,51 @@
package cache
type SetCallback[K comparable, V any] struct {
cache *Cache[K, V]
}
func (c *Cache[K, V]) SetCallBack() SetCallback[K, V] {
return SetCallback[K, V]{cache: c}
}
func (c SetCallback[K, V]) SetSet(f func(K, Data[V])) {
c.cache.mu.Lock()
defer c.cache.mu.Unlock()
c.cache.cSet = f
}
func (c SetCallback[K, V]) SetGet(f func(K, Data[V])) {
c.cache.mu.Lock()
defer c.cache.mu.Unlock()
c.cache.cGet = f
}
func (c SetCallback[K, V]) SetGetData(f func(K, Data[V])) {
c.cache.mu.Lock()
defer c.cache.mu.Unlock()
c.cache.cGetData = f
}
func (c SetCallback[K, V]) SetGetTTL(f func(K, Data[V])) {
c.cache.mu.Lock()
defer c.cache.mu.Unlock()
c.cache.cGetTTL = f
}
func (c SetCallback[K, V]) SetDel(f func(K, Data[V])) {
c.cache.mu.Lock()
defer c.cache.mu.Unlock()
c.cache.cDel = f
}
func (c SetCallback[K, V]) SetUpData(f func(K, Data[V])) {
c.cache.mu.Lock()
defer c.cache.mu.Unlock()
c.cache.cUpData = f
}
func (c SetCallback[K, V]) SetUpTTL(f func(K, Data[V])) {
c.cache.mu.Lock()
defer c.cache.mu.Unlock()
c.cache.cUpTTL = f
}