Documentation
¶
Index ¶
- Variables
- func SetupLocalPDInstance(ctx context.Context) (string, testcontainers.Container, func(), error)
- func SetupLocalTiKVInstance(ctx context.Context) (string, testcontainers.Container, func(), error)
- func SetupLocalValKeyInstance(ctx context.Context) (string, testcontainers.Container, func(), error)
- type Config
- type KVExecutor
- type KVManager
- type Key
- type KeyValue
- type VKExecutor
- func (r *VKExecutor) Delete(ctx context.Context, key Key) error
- func (r *VKExecutor) Exists(ctx context.Context, key Key) (bool, error)
- func (r *VKExecutor) Get(ctx context.Context, key Key) (json.RawMessage, error)
- func (r *VKExecutor) Keys(ctx context.Context, pattern string) ([]Key, error)
- func (r *VKExecutor) ListLength(ctx context.Context, key Key) (int64, error)
- func (r *VKExecutor) ListPush(ctx context.Context, key Key, value json.RawMessage) error
- func (r *VKExecutor) ListRPop(ctx context.Context, key Key) (json.RawMessage, error)
- func (r *VKExecutor) ListRange(ctx context.Context, key Key, start, stop int64) ([]json.RawMessage, error)
- func (r *VKExecutor) ListTrim(ctx context.Context, key Key, start, stop int64) error
- func (r *VKExecutor) Set(ctx context.Context, key Key, value json.RawMessage) error
- func (r *VKExecutor) SetAdd(ctx context.Context, key Key, member json.RawMessage) error
- func (r *VKExecutor) SetMembers(ctx context.Context, key Key) ([]json.RawMessage, error)
- func (r *VKExecutor) SetRemove(ctx context.Context, key Key, member json.RawMessage) error
- func (r *VKExecutor) SetWithTTL(ctx context.Context, key Key, value json.RawMessage, ttl time.Duration) error
- type VKManager
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNotFound = errors.New("key not found") ErrInvalidValue = errors.New("invalid value for operation") ErrKeyExists = errors.New("key already exists") ErrTxFailed = errors.New("transaction failed") ErrTxConflict = errors.New("transaction conflict") ErrConnectionFailed = errors.New("connection failed") )
Predefined errors for key-value operations
Functions ¶
func SetupLocalPDInstance ¶
func SetupLocalTiKVInstance ¶
Types ¶
type KVExecutor ¶
type KVExecutor interface {
// Basic operations
Get(ctx context.Context, key Key) (json.RawMessage, error)
Set(ctx context.Context, key Key, value json.RawMessage) error
SetWithTTL(ctx context.Context, key Key, value json.RawMessage, ttl time.Duration) error
Delete(ctx context.Context, key Key) error
Exists(ctx context.Context, key Key) (bool, error)
Keys(ctx context.Context, pattern string) ([]Key, error)
// List operations
ListPush(ctx context.Context, key Key, value json.RawMessage) error
ListRange(ctx context.Context, key Key, start, stop int64) ([]json.RawMessage, error)
ListTrim(ctx context.Context, key Key, start, stop int64) error
ListLength(ctx context.Context, key Key) (int64, error)
ListRPop(ctx context.Context, key Key) (json.RawMessage, error)
// Set operations
SetAdd(ctx context.Context, key Key, member json.RawMessage) error
SetMembers(ctx context.Context, key Key) ([]json.RawMessage, error)
SetRemove(ctx context.Context, key Key, member json.RawMessage) error
}
KVExecutor represents operations
type KVManager ¶
type KVManager interface {
// Executor returns a non-transactional executor
Executor(ctx context.Context) (KVExecutor, error)
Close() error
}
KVManager defines the interface for obtaining executors
type KeyValue ¶
type KeyValue struct {
Key string
Value json.RawMessage
TTL time.Time
}
KeyValue is used for backward compatibility with the old interface
type VKExecutor ¶
type VKExecutor struct {
// contains filtered or unexported fields
}
VKExecutor implements KVExecutor for Valkey
func (*VKExecutor) Get ¶
func (r *VKExecutor) Get(ctx context.Context, key Key) (json.RawMessage, error)
func (*VKExecutor) ListLength ¶
func (*VKExecutor) ListPush ¶
func (r *VKExecutor) ListPush(ctx context.Context, key Key, value json.RawMessage) error
func (*VKExecutor) ListRPop ¶
func (r *VKExecutor) ListRPop(ctx context.Context, key Key) (json.RawMessage, error)
func (*VKExecutor) ListRange ¶
func (r *VKExecutor) ListRange(ctx context.Context, key Key, start, stop int64) ([]json.RawMessage, error)
func (*VKExecutor) Set ¶
func (r *VKExecutor) Set(ctx context.Context, key Key, value json.RawMessage) error
func (*VKExecutor) SetAdd ¶
func (r *VKExecutor) SetAdd(ctx context.Context, key Key, member json.RawMessage) error
func (*VKExecutor) SetMembers ¶
func (r *VKExecutor) SetMembers(ctx context.Context, key Key) ([]json.RawMessage, error)
func (*VKExecutor) SetRemove ¶
func (r *VKExecutor) SetRemove(ctx context.Context, key Key, member json.RawMessage) error
func (*VKExecutor) SetWithTTL ¶
func (r *VKExecutor) SetWithTTL(ctx context.Context, key Key, value json.RawMessage, ttl time.Duration) error
Click to show internal directories.
Click to hide internal directories.