Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrEmptyConfig = errors.New("empty config") ErrAddrMissing = errors.New("missing required field 'Addr'") ErrCredentialMissing = errors.New("missing Redis credentials in environment") ErrConnectionFail = errors.New("failed to connect to Redis") )
Error variables to describe common failure modes.
View Source
var RedisCl *redis.Client
RedisCl global variable for the Redis client, can be overridden in tests
View Source
var RedisClientFunc = func(cfg *Config) RedisClient { return redis.NewClient(&redis.Options{ Addr: cfg.Addr, Password: os.Getenv("REDIS_PASSWORD"), DB: 0, }) }
RedisClientFunc is a function variable that creates a Redis client based on the provided configuration. It can be overridden for testing purposes.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache struct {
Client RedisClient
}
Cache wraps a Redis client to provide basic caching operations.
func New ¶
New initializes and returns a Cache instance along with a close function to release resources.
type Config ¶
type Config struct {
Addr string
}
Config holds the configuration required to connect to Redis.
type RedisClient ¶
type RedisClient interface { Get(ctx context.Context, key string) *redis.StringCmd Set(ctx context.Context, key string, value interface{}, ttl time.Duration) *redis.StatusCmd Del(ctx context.Context, keys ...string) *redis.IntCmd FlushDB(ctx context.Context) *redis.StatusCmd Ping(ctx context.Context) *redis.StatusCmd Close() error }
RedisClient is an interface for Redis operations that allows mocking
Click to show internal directories.
Click to hide internal directories.