cache

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 1, 2025 License: MIT Imports: 11 Imported by: 0

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL