writePolicy

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IWritePolicy

type IWritePolicy[T config.TenantId, V any] interface {
	SetConfig(ctx context.Context, cacheKey string, entityId T, value *V) error
}

type WriteAroundPolicy

type WriteAroundPolicy[T config.TenantId, V any] struct {
	ConfigCacheOps cache.IConfigCacheRepo[T, V]
	ConfigDbRepo   db.IConfigDbRepo[T, V]
	LockManager    locks.LockManager
}

func NewWriteAroundPolicy

func NewWriteAroundPolicy[T config.TenantId, V any](configCacheOps cache.IConfigCacheRepo[T, V], configDbOps db.IConfigDbRepo[T, V], locksManager locks.LockManager) *WriteAroundPolicy[T, V]

func (*WriteAroundPolicy[T, V]) SetConfig

func (w *WriteAroundPolicy[T, V]) SetConfig(ctx context.Context, cacheKey string, entityId T, value *V) error

type WriteBackPolicy

type WriteBackPolicy[T config.TenantId, V any] struct {
	ConfigCacheOps cache.IConfigCacheRepo[T, V]
	ConfigDbRepo   db.IConfigDbRepo[T, V]
	LockManager    locks.LockManager
	Wg             sync.WaitGroup
}

func NewWriteBackPolicy

func NewWriteBackPolicy[T config.TenantId, V any](configCacheOps cache.IConfigCacheRepo[T, V], configDbOps db.IConfigDbRepo[T, V], locksManager locks.LockManager) *WriteBackPolicy[T, V]

func (*WriteBackPolicy[T, V]) SetConfig

func (w *WriteBackPolicy[T, V]) SetConfig(ctx context.Context, cacheKey string, entityId T, value *V) error

type WritePolicy

type WritePolicy string
const (
	WriteAround  WritePolicy = "write-around"
	WriteThrough WritePolicy = "write-through"
	WriteBack    WritePolicy = "write-back"
)

func (WritePolicy) Value

func (r WritePolicy) Value() string

type WriteThroughPolicy

type WriteThroughPolicy[T config.TenantId, V any] struct {
	ConfigCacheOps cache.IConfigCacheRepo[T, V]
	ConfigDbRepo   db.IConfigDbRepo[T, V]
	LockManager    locks.LockManager
}

func NewWriteThroughPolicy

func NewWriteThroughPolicy[T config.TenantId, V any](configCacheOps cache.IConfigCacheRepo[T, V], configDbOps db.IConfigDbRepo[T, V], locksManager locks.LockManager) *WriteThroughPolicy[T, V]

func (*WriteThroughPolicy[T, V]) SetConfig

func (w *WriteThroughPolicy[T, V]) SetConfig(ctx context.Context, cacheKey string, entityId T, value *V) error

Jump to

Keyboard shortcuts

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