Files
geo/server/internal/shared/cache/redis.go
T

34 lines
701 B
Go
Raw Normal View History

package cache
import (
"context"
"errors"
"time"
goredis "github.com/redis/go-redis/v9"
)
type redisCache struct {
client *goredis.Client
}
func newRedisCache(client *goredis.Client) Cache {
return &redisCache{client: client}
}
func (c *redisCache) Get(ctx context.Context, key string) ([]byte, error) {
val, err := c.client.Get(ctx, key).Bytes()
if errors.Is(err, goredis.Nil) {
return nil, ErrNotFound
}
return val, err
}
func (c *redisCache) Set(ctx context.Context, key string, value []byte, ttl time.Duration) error {
return c.client.Set(ctx, key, value, ttl).Err()
}
func (c *redisCache) Delete(ctx context.Context, key string) error {
return c.client.Del(ctx, key).Err()
}