Documentation
¶
Index ¶
- type BitmapFakeReplicator
- func (r *BitmapFakeReplicator) DropReplicationKey(ctx context.Context, replicationKey string) error
- func (r *BitmapFakeReplicator) Recover(ctx context.Context, storage MemorySetStorage, replicationKey string) error
- func (r *BitmapFakeReplicator) Replicate(ctx context.Context, storage MemorySetStorage, replicationKey string, ...) error
- type BitmapRedisReplicator
- func (r *BitmapRedisReplicator) DropReplicationKey(ctx context.Context, replicationKey string) error
- func (r *BitmapRedisReplicator) Recover(ctx context.Context, storage MemorySetStorage, versionKey string) error
- func (r *BitmapRedisReplicator) Replicate(ctx context.Context, storage MemorySetStorage, replicationKey string, ...) error
- type BitmapStorageConfigs
- type BitmapStubReplicator
- func (stub *BitmapStubReplicator) DropReplicationKey(ctx context.Context, replicationKey string) error
- func (stub *BitmapStubReplicator) Recover(ctx context.Context, storage MemorySetStorage, versionKey string) error
- func (stub *BitmapStubReplicator) Replicate(ctx context.Context, storage MemorySetStorage, replicationKey string, ...) error
- type MemorySetStorage
- type MemorySetStorageReplicator
- type Warmer
- type WarmerFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BitmapFakeReplicator ¶
type BitmapFakeReplicator struct {
// contains filtered or unexported fields
}
func (*BitmapFakeReplicator) DropReplicationKey ¶
func (r *BitmapFakeReplicator) DropReplicationKey(ctx context.Context, replicationKey string) error
func (*BitmapFakeReplicator) Recover ¶
func (r *BitmapFakeReplicator) Recover(ctx context.Context, storage MemorySetStorage, replicationKey string) error
func (*BitmapFakeReplicator) Replicate ¶
func (r *BitmapFakeReplicator) Replicate(ctx context.Context, storage MemorySetStorage, replicationKey string, ttl time.Duration) error
type BitmapRedisReplicator ¶
type BitmapRedisReplicator struct {
// contains filtered or unexported fields
}
func (*BitmapRedisReplicator) DropReplicationKey ¶
func (r *BitmapRedisReplicator) DropReplicationKey(ctx context.Context, replicationKey string) error
func (*BitmapRedisReplicator) Recover ¶
func (r *BitmapRedisReplicator) Recover(ctx context.Context, storage MemorySetStorage, versionKey string) error
Recover восстанавливает данные из резервного хранилища в MemorySetStorage(конкретно тут из redis в roaring64.Bitmap).
func (*BitmapRedisReplicator) Replicate ¶
func (r *BitmapRedisReplicator) Replicate(ctx context.Context, storage MemorySetStorage, replicationKey string, ttl time.Duration) error
Replicate реплицирует данные из MemorySetStorage в резервное хранилище (в данном случае в Redis).
type BitmapStorageConfigs ¶
type BitmapStorageConfigs struct {
MonitoringTicker time.Duration
OptimizingTicker time.Duration
ReplicationTicker time.Duration
ReplicationTtl time.Duration
StorageName string
DebugLogs bool // флаг для включения/отключения отладочных логов
ReplicationKey string // ключ для репликации, например, "bitmap_current_goods_ids"
}
type BitmapStubReplicator ¶
type BitmapStubReplicator struct{}
func (*BitmapStubReplicator) DropReplicationKey ¶
func (stub *BitmapStubReplicator) DropReplicationKey(ctx context.Context, replicationKey string) error
func (*BitmapStubReplicator) Recover ¶
func (stub *BitmapStubReplicator) Recover(ctx context.Context, storage MemorySetStorage, versionKey string) error
func (*BitmapStubReplicator) Replicate ¶
func (stub *BitmapStubReplicator) Replicate(ctx context.Context, storage MemorySetStorage, replicationKey string, ttl time.Duration) error
type MemorySetStorage ¶
type MemorySetStorage interface {
// MustWarmer устанавливает функцию, которая будет вызываться для заполнения хранилища
MustWarmer(ctx context.Context, warmerFunc WarmerFunc)
// Contains проверяет, содержится ли ключ в хранилище
Contains(key uint64) bool
// UpsertMany добавляет несколько ключей в хранилище
UpsertMany(keys []uint64)
// RemoveMany удаляет несколько ключей из хранилища
RemoveMany(keys []uint64)
// GetCount возвращает количество элементов в хранилище
GetCount() uint64
// Clear очищает хранилище
Clear()
// Warm заполняет хранилище данными, если оно пустое
Warm(ctx context.Context) error
// ReadFromBuffer считывает данные из буфера и добавляет их в bitmap
ReadFromBuffer(ctx context.Context, buffer *bytes2.Buffer) (int64, error)
// GetBytesFromBitmap возвращает байтовое представление bitmap
GetBytesFromBitmap() ([]byte, error)
// Recover восстанавливает bitmap из байтового представления
Recover(ctx context.Context) error
// Replicate реплицирует данные из bitmap в хранилище
Replicate(ctx context.Context) error
// DropReplicationKey удаляет ключ репликации из хранилища
DropReplicationKey(ctx context.Context) error
}
func NewBitmapStorage ¶
func NewBitmapStorage( replicator MemorySetStorageReplicator, configs BitmapStorageConfigs, warmer *Warmer, ) MemorySetStorage
type MemorySetStorageReplicator ¶
type MemorySetStorageReplicator interface {
// Replicate реплицирует данные в хранилище
Replicate(ctx context.Context, storage MemorySetStorage, replicationKey string, ttl time.Duration) error
// Recover восстанавливает данные из хранилища
Recover(ctx context.Context, storage MemorySetStorage, replicationKey string) error
// DropReplicationKey удаляет ключ репликации из хранилища
DropReplicationKey(ctx context.Context, replicationKey string) error
}
func NewBimapRedisReplicator ¶
func NewBimapRedisReplicator(redisClient *redis.Client, forStorage string) MemorySetStorageReplicator
func NewBitmapFakeReplicator ¶
func NewBitmapFakeReplicator(forStorage string) MemorySetStorageReplicator
func NewBitmapStubReplicator ¶
func NewBitmapStubReplicator() MemorySetStorageReplicator
type Warmer ¶
type Warmer struct {
WarmCallback WarmerFunc
BatchSize int32
}
type WarmerFunc ¶
Click to show internal directories.
Click to hide internal directories.