Documentation
¶
Index ¶
- type PostgresDB
- type RedisClient
- func (rc *RedisClient) Close() error
- func (rc *RedisClient) Delete(ctx context.Context, key string) error
- func (rc *RedisClient) Exists(ctx context.Context, key string) (bool, error)
- func (rc *RedisClient) Get(ctx context.Context, key string) (string, error)
- func (rc *RedisClient) GetClient() *redis.Client
- func (rc *RedisClient) Increment(ctx context.Context, key string) (int64, error)
- func (rc *RedisClient) RateLimiter(ctx context.Context, key string, limit int, window time.Duration) (bool, error)
- func (rc *RedisClient) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) error
- func (rc *RedisClient) SetWithTTL(ctx context.Context, key string, value interface{}, ttl time.Duration) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PostgresDB ¶
type PostgresDB struct {
// contains filtered or unexported fields
}
PostgresDB represents a PostgreSQL database connection
func NewPostgresDB ¶
func NewPostgresDB(cfg config.DatabaseConfig) (*PostgresDB, error)
NewPostgresDB creates a new PostgreSQL database connection
func (*PostgresDB) GetPool ¶
func (db *PostgresDB) GetPool() *pgxpool.Pool
GetPool returns the connection pool
func (*PostgresDB) Ping ¶
func (db *PostgresDB) Ping(ctx context.Context) error
Ping checks if the database connection is alive
func (*PostgresDB) RunMigrations ¶
func (db *PostgresDB) RunMigrations() error
RunMigrations runs database migrations
type RedisClient ¶
type RedisClient struct {
// contains filtered or unexported fields
}
RedisClient represents a Redis client connection
func NewRedisClient ¶
func NewRedisClient(cfg config.RedisConfig) (*RedisClient, error)
NewRedisClient creates a new Redis client
func (*RedisClient) Delete ¶
func (rc *RedisClient) Delete(ctx context.Context, key string) error
Delete deletes a key from Redis
func (*RedisClient) GetClient ¶
func (rc *RedisClient) GetClient() *redis.Client
GetClient returns the Redis client
func (*RedisClient) RateLimiter ¶
func (rc *RedisClient) RateLimiter(ctx context.Context, key string, limit int, window time.Duration) (bool, error)
RateLimiter increments a counter and returns whether the limit is exceeded
func (*RedisClient) Set ¶
func (rc *RedisClient) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) error
Set sets a key-value pair in Redis with expiration
func (*RedisClient) SetWithTTL ¶
func (rc *RedisClient) SetWithTTL(ctx context.Context, key string, value interface{}, ttl time.Duration) error
SetWithTTL sets a key-value pair with TTL
Click to show internal directories.
Click to hide internal directories.