Documentation ¶
Index ¶
- func AfterCreate(cache *Gorm2Cache) func(db *gorm.DB)
- func AfterDelete(cache *Gorm2Cache) func(db *gorm.DB)
- func AfterQuery(cache *Gorm2Cache) func(db *gorm.DB)
- func AfterUpdate(cache *Gorm2Cache) func(db *gorm.DB)
- func BeforeQuery(cache *Gorm2Cache) func(db *gorm.DB)
- func NewPlugin(opts ...Option) gorm.Plugin
- func NewRedisConfigWithClient(client *redis.Client) *config.RedisConfig
- func NewRedisConfigWithOptions(options *redis.Options) *config.RedisConfig
- type Gorm2Cache
- func (c *Gorm2Cache) AttachToDB(db *gorm.DB)
- func (c *Gorm2Cache) BatchGetPrimaryCache(ctx context.Context, tableName string, primaryKeys []string) ([]string, error)
- func (c *Gorm2Cache) BatchInvalidatePrimaryCache(ctx context.Context, tableName string, primaryKeys []string) error
- func (c *Gorm2Cache) BatchPrimaryKeyExists(ctx context.Context, tableName string, primaryKeys []string) (bool, error)
- func (c *Gorm2Cache) BatchSetPrimaryKeyCache(ctx context.Context, tableName string, kvs []util.Kv) error
- func (c *Gorm2Cache) GetHitCount() int64
- func (c *Gorm2Cache) GetSearchCache(ctx context.Context, tableName string, sql string, vars ...any) (string, error)
- func (c *Gorm2Cache) IncrHitCount()
- func (c *Gorm2Cache) Init() error
- func (c *Gorm2Cache) Initialize(db *gorm.DB) (err error)
- func (c *Gorm2Cache) InvalidateAllPrimaryCache(ctx context.Context, tableName string) error
- func (c *Gorm2Cache) InvalidatePrimaryCache(ctx context.Context, tableName string, primaryKey string) error
- func (c *Gorm2Cache) InvalidateSearchCache(ctx context.Context, tableName string) error
- func (c *Gorm2Cache) Name() string
- func (c *Gorm2Cache) ResetCache() error
- func (c *Gorm2Cache) ResetHitCount()
- func (c *Gorm2Cache) SearchKeyExists(ctx context.Context, tableName string, SQL string, vars ...any) (bool, error)
- func (c *Gorm2Cache) SetSearchCache(ctx context.Context, cacheValue string, tableName string, sql string, ...) error
- type Option
- func WithCacheMaxItemCnt(cnt int64) Option
- func WithCacheSize(size int) Option
- func WithCacheTTL(ttl int64) Option
- func WithDebugLogger(log config.LoggerInterface) Option
- func WithDebugMode(debug bool) Option
- func WithInvalidateWhenUpdate(isBool bool) Option
- func WithLevel(level config.CacheLevel) Option
- func WithRedisConfig(redisClient *config.RedisConfig) Option
- func WithStorage(storage config.CacheStorage) Option
- func WithTables(tables []string) Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AfterCreate ¶
func AfterCreate(cache *Gorm2Cache) func(db *gorm.DB)
func AfterDelete ¶
func AfterDelete(cache *Gorm2Cache) func(db *gorm.DB)
func AfterQuery ¶
func AfterQuery(cache *Gorm2Cache) func(db *gorm.DB)
func AfterUpdate ¶
func AfterUpdate(cache *Gorm2Cache) func(db *gorm.DB)
func BeforeQuery ¶
func BeforeQuery(cache *Gorm2Cache) func(db *gorm.DB)
func NewRedisConfigWithClient ¶
func NewRedisConfigWithClient(client *redis.Client) *config.RedisConfig
func NewRedisConfigWithOptions ¶
func NewRedisConfigWithOptions(options *redis.Options) *config.RedisConfig
Types ¶
type Gorm2Cache ¶
type Gorm2Cache struct { Config *config.CacheConfig Logger config.LoggerInterface InstanceId string // contains filtered or unexported fields }
func NewGorm2Cache ¶
func NewGorm2Cache(cacheConfig *config.CacheConfig) (*Gorm2Cache, error)
func (*Gorm2Cache) AttachToDB ¶
func (c *Gorm2Cache) AttachToDB(db *gorm.DB)
func (*Gorm2Cache) BatchGetPrimaryCache ¶
func (*Gorm2Cache) BatchInvalidatePrimaryCache ¶
func (*Gorm2Cache) BatchPrimaryKeyExists ¶
func (*Gorm2Cache) BatchSetPrimaryKeyCache ¶
func (*Gorm2Cache) GetHitCount ¶
func (c *Gorm2Cache) GetHitCount() int64
func (*Gorm2Cache) GetSearchCache ¶
func (*Gorm2Cache) IncrHitCount ¶
func (c *Gorm2Cache) IncrHitCount()
func (*Gorm2Cache) Init ¶
func (c *Gorm2Cache) Init() error
func (*Gorm2Cache) Initialize ¶
func (c *Gorm2Cache) Initialize(db *gorm.DB) (err error)
func (*Gorm2Cache) InvalidateAllPrimaryCache ¶
func (c *Gorm2Cache) InvalidateAllPrimaryCache(ctx context.Context, tableName string) error
func (*Gorm2Cache) InvalidatePrimaryCache ¶
func (*Gorm2Cache) InvalidateSearchCache ¶
func (c *Gorm2Cache) InvalidateSearchCache(ctx context.Context, tableName string) error
func (*Gorm2Cache) Name ¶
func (c *Gorm2Cache) Name() string
func (*Gorm2Cache) ResetCache ¶
func (c *Gorm2Cache) ResetCache() error
func (*Gorm2Cache) ResetHitCount ¶
func (c *Gorm2Cache) ResetHitCount()
func (*Gorm2Cache) SearchKeyExists ¶
func (*Gorm2Cache) SetSearchCache ¶
type Option ¶
type Option func(p *config.CacheConfig)
func WithCacheMaxItemCnt ¶
func WithCacheSize ¶
func WithCacheTTL ¶
func WithDebugLogger ¶
func WithDebugLogger(log config.LoggerInterface) Option
func WithDebugMode ¶
func WithLevel ¶
func WithLevel(level config.CacheLevel) Option
func WithRedisConfig ¶
func WithRedisConfig(redisClient *config.RedisConfig) Option
func WithStorage ¶
func WithStorage(storage config.CacheStorage) Option
func WithTables ¶
Click to show internal directories.
Click to hide internal directories.