drivers

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 18, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileDriver

type FileDriver struct {
	// contains filtered or unexported fields
}

FileDriver persists cache entries as JSON files on disk, organised in a two-level subdirectory structure: {root}/{first-2-hex}/{sha256}.json

func NewFile

func NewFile(path string) (*FileDriver, error)

func (*FileDriver) Add

func (f *FileDriver) Add(_ context.Context, key string, value []byte, ttl time.Duration) (bool, error)

func (*FileDriver) Decrement

func (f *FileDriver) Decrement(ctx context.Context, key string, amount int64) (int64, error)

func (*FileDriver) Flush

func (f *FileDriver) Flush(_ context.Context) error

func (*FileDriver) Forever

func (f *FileDriver) Forever(_ context.Context, key string, value []byte) error

func (*FileDriver) Forget

func (f *FileDriver) Forget(_ context.Context, key string) error

func (*FileDriver) Get

func (f *FileDriver) Get(_ context.Context, key string) ([]byte, bool, error)

func (*FileDriver) Has

func (f *FileDriver) Has(ctx context.Context, key string) (bool, error)

func (*FileDriver) Increment

func (f *FileDriver) Increment(_ context.Context, key string, amount int64) (int64, error)

func (*FileDriver) Put

func (f *FileDriver) Put(_ context.Context, key string, value []byte, ttl time.Duration) error

type MemoryDriver

type MemoryDriver struct {
	// contains filtered or unexported fields
}

MemoryDriver stores cache entries in memory (non-persistent, process-scoped).

func NewMemory

func NewMemory() *MemoryDriver

func (*MemoryDriver) Add

func (m *MemoryDriver) Add(_ context.Context, key string, value []byte, ttl time.Duration) (bool, error)

func (*MemoryDriver) Decrement

func (m *MemoryDriver) Decrement(ctx context.Context, key string, amount int64) (int64, error)

func (*MemoryDriver) Flush

func (m *MemoryDriver) Flush(_ context.Context) error

func (*MemoryDriver) Forever

func (m *MemoryDriver) Forever(_ context.Context, key string, value []byte) error

func (*MemoryDriver) Forget

func (m *MemoryDriver) Forget(_ context.Context, key string) error

func (*MemoryDriver) Get

func (m *MemoryDriver) Get(_ context.Context, key string) ([]byte, bool, error)

func (*MemoryDriver) Has

func (m *MemoryDriver) Has(ctx context.Context, key string) (bool, error)

func (*MemoryDriver) Increment

func (m *MemoryDriver) Increment(_ context.Context, key string, amount int64) (int64, error)

func (*MemoryDriver) Put

func (m *MemoryDriver) Put(_ context.Context, key string, value []byte, ttl time.Duration) error

type RedisDriver

type RedisDriver struct {
	// contains filtered or unexported fields
}

RedisDriver stores cache entries in Redis.

func NewRedis

func NewRedis(addr, password string, db int) (*RedisDriver, error)

func (*RedisDriver) Add

func (r *RedisDriver) Add(ctx context.Context, key string, value []byte, ttl time.Duration) (bool, error)

func (*RedisDriver) Decrement

func (r *RedisDriver) Decrement(ctx context.Context, key string, amount int64) (int64, error)

func (*RedisDriver) Flush

func (r *RedisDriver) Flush(ctx context.Context) error

func (*RedisDriver) Forever

func (r *RedisDriver) Forever(ctx context.Context, key string, value []byte) error

func (*RedisDriver) Forget

func (r *RedisDriver) Forget(ctx context.Context, key string) error

func (*RedisDriver) Get

func (r *RedisDriver) Get(ctx context.Context, key string) ([]byte, bool, error)

func (*RedisDriver) Has

func (r *RedisDriver) Has(ctx context.Context, key string) (bool, error)

func (*RedisDriver) Increment

func (r *RedisDriver) Increment(ctx context.Context, key string, amount int64) (int64, error)

func (*RedisDriver) Put

func (r *RedisDriver) Put(ctx context.Context, key string, value []byte, ttl time.Duration) error

Jump to

Keyboard shortcuts

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