Documentation
¶
Overview ¶
Package cache is a package that unifies the definition of caching, supporting both redis and local caching.
Index ¶
Constants ¶
View Source
const ( // cache prefix key, must end with a colon UserExampleCachePrefixKeyLock = "userExampleLock:" UserExampleCachePrefixKey = "userExample:" // UserExampleExpireTime expire time UserExampleExpireTime = 5 * time.Minute )
View Source
const ( // CacheNameExampleExpireTime expire time CacheNameExampleExpireTime = 5 * time.Minute )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CacheNameExampleCache ¶
type CacheNameExampleCache interface {
GetLoopLock(ctx context.Context, keyNameExample keyTypeExample, options ...redsync.Option) error
GetLock(ctx context.Context, keyNameExample keyTypeExample, options ...redsync.Option) error
ReleaseLock(ctx context.Context) error
Set(ctx context.Context, keyNameExample keyTypeExample, valueNameExample valueTypeExample, duration time.Duration) error
Get(ctx context.Context, keyNameExample keyTypeExample) (valueTypeExample, error)
Del(ctx context.Context, keyNameExample keyTypeExample) error
}
CacheNameExampleCache cache interface
func NewCacheNameExampleCache ¶
func NewCacheNameExampleCache(cacheType *database.CacheType) CacheNameExampleCache
NewCacheNameExampleCache create a new cache
type UserExampleCache ¶
type UserExampleCache interface {
GetLoopLock(ctx context.Context, key string, options ...redsync.Option) error
GetLock(ctx context.Context, key string, options ...redsync.Option) error
ReleaseLock(ctx context.Context) error
Set(ctx context.Context, id uint64, data *model.UserExample, duration time.Duration) error
SetIdByKey(ctx context.Context, key string, id uint64, duration time.Duration) error
SetIdsByKey(ctx context.Context, key string, ids []uint64, duration time.Duration) error
Get(ctx context.Context, id uint64) (*model.UserExample, error)
GetIdByKey(ctx context.Context, key string) (id uint64, err error)
GetIdsByKey(ctx context.Context, key string) (ids []uint64, err error)
MultiGet(ctx context.Context, ids []uint64) (map[uint64]*model.UserExample, error)
MultiSet(ctx context.Context, data []*model.UserExample, duration time.Duration) error
Del(ctx context.Context, id uint64) error
DelByPrefix(ctx context.Context, prefix string) error
DelByKey(ctx context.Context, key string) error
SetPlaceholder(ctx context.Context, id uint64) error
SetPlaceholderByKey(ctx context.Context, key string) error
IsPlaceholderErr(err error) bool
}
UserExampleCache cache interface
func NewUserExampleCache ¶
func NewUserExampleCache(cacheType *database.CacheType) UserExampleCache
NewUserExampleCache new a cache
Click to show internal directories.
Click to hide internal directories.