Documentation
¶
Index ¶
- Variables
- type BasicCacheMetrics
- func (m *BasicCacheMetrics) GetStats() map[string]interface{}
- func (m *BasicCacheMetrics) RecordError(operation string)
- func (m *BasicCacheMetrics) RecordOperation(operation, key string)
- func (m *BasicCacheMetrics) RecordOperationWithDuration(operation, key string, duration time.Duration)
- func (m *BasicCacheMetrics) Reset()
- type CacheConfig
- type CacheInterface
- type CacheKey
- type CacheMetrics
- type CacheService
- type CacheWrapper
- func (cw *CacheWrapper) GetMetrics() map[string]interface{}
- func (cw *CacheWrapper) GetMultiple(ctx context.Context, keys []CacheKey) (map[string]interface{}, error)
- func (cw *CacheWrapper) GetOrSet(ctx context.Context, key CacheKey, dataType string, ...) (interface{}, error)
- func (cw *CacheWrapper) GetOrSetJSON(ctx context.Context, key CacheKey, dataType string, target interface{}, ...) error
- func (cw *CacheWrapper) InvalidatePattern(ctx context.Context, pattern CacheKey) error
- func (cw *CacheWrapper) Lock(ctx context.Context, lockKey string, ttl time.Duration) (*DistributedLock, error)
- func (cw *CacheWrapper) RefreshCache(ctx context.Context, key CacheKey, dataType string, ...) error
- func (cw *CacheWrapper) SetMultiple(ctx context.Context, entries map[CacheKey]MultipleEntry) error
- func (cw *CacheWrapper) WarmCache(ctx context.Context, warmupData map[CacheKey]WarmupEntry) error
- type CircuitBreaker
- type Config
- type DistributedLock
- type MemoryCache
- func (c *MemoryCache) Clear()
- func (c *MemoryCache) Close()
- func (c *MemoryCache) Delete(key string)
- func (c *MemoryCache) Exists(key string) bool
- func (c *MemoryCache) Get(key string, dest interface{}) error
- func (c *MemoryCache) GetStats() map[string]interface{}
- func (c *MemoryCache) GetTTL(key string) time.Duration
- func (c *MemoryCache) Increment(key string, delta int64) int64
- func (c *MemoryCache) InvalidatePattern(pattern string)
- func (c *MemoryCache) Set(key string, value interface{}, expiration time.Duration) error
- func (c *MemoryCache) SetNX(key string, value interface{}, expiration time.Duration) bool
- type MemoryCacheItem
- type MemoryCacheStats
- type MultipleEntry
- type OperationMetrics
- type PerformanceStats
- 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) Expire(ctx context.Context, key string, ttl time.Duration) error
- func (rc *RedisClient) FlushPattern(ctx context.Context, pattern string) error
- func (rc *RedisClient) Get(ctx context.Context, key string, dest interface{}) error
- func (rc *RedisClient) GetClient() redis.UniversalClient
- func (rc *RedisClient) GetMultiple(ctx context.Context, keys []string) (map[string]interface{}, error)
- func (rc *RedisClient) GetTTL(ctx context.Context, key string) (time.Duration, error)
- func (rc *RedisClient) HealthCheck() observability.HealthCheck
- func (rc *RedisClient) Increment(ctx context.Context, key string) (int64, error)
- func (rc *RedisClient) IncrementBy(ctx context.Context, key string, value int64) (int64, error)
- func (rc *RedisClient) Ping(ctx context.Context) error
- func (rc *RedisClient) Set(ctx context.Context, key string, value interface{}, ttl time.Duration) error
- func (rc *RedisClient) SetNX(ctx context.Context, key string, value interface{}, ttl time.Duration) (bool, error)
- type RedisManager
- func (rm *RedisManager) Close() error
- func (rm *RedisManager) Delete(ctx context.Context, keys ...string) error
- func (rm *RedisManager) DeletePattern(ctx context.Context, pattern string) error
- func (rm *RedisManager) Get(ctx context.Context, key string) (string, error)
- func (rm *RedisManager) GetJSON(ctx context.Context, key string, dest interface{}) error
- func (rm *RedisManager) GetMetrics() map[string]interface{}
- func (rm *RedisManager) Health(ctx context.Context) error
- func (rm *RedisManager) Set(ctx context.Context, key string, value interface{}) error
- func (rm *RedisManager) SetNX(ctx context.Context, key string, value interface{}, ttl time.Duration) (bool, error)
- func (rm *RedisManager) SetWithTTL(ctx context.Context, key string, value interface{}, ttl time.Duration) error
- type RedisOptions
- type RetryPolicy
- type TTLCalculator
- type TTLStrategy
- type UnifiedCache
- func (c *UnifiedCache) Close() error
- func (c *UnifiedCache) Delete(ctx context.Context, key string) error
- func (c *UnifiedCache) Exists(ctx context.Context, key string) bool
- func (c *UnifiedCache) Get(ctx context.Context, key string, dest interface{}) error
- func (c *UnifiedCache) GetMultiple(ctx context.Context, keys []string) (map[string]interface{}, error)
- func (c *UnifiedCache) GetStats(ctx context.Context) (map[string]interface{}, error)
- func (c *UnifiedCache) GetTTL(ctx context.Context, key string) time.Duration
- func (c *UnifiedCache) Increment(ctx context.Context, key string, delta int64) (int64, error)
- func (c *UnifiedCache) InvalidatePattern(ctx context.Context, pattern string) error
- func (c *UnifiedCache) Ping(ctx context.Context) error
- func (c *UnifiedCache) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) error
- func (c *UnifiedCache) SetMultiple(ctx context.Context, items map[string]interface{}, expiration time.Duration) error
- func (c *UnifiedCache) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) (bool, error)
- type WarmupEntry
- type WrapperMetrics
Constants ¶
This section is empty.
Variables ¶
var ( // ErrCacheMiss indicates that a key was not found in the cache ErrCacheMiss = errors.New("cache miss") // ErrCacheConnectionFailed indicates that the cache connection failed ErrCacheConnectionFailed = errors.New("cache connection failed") // ErrInvalidCacheKey indicates that the provided cache key is invalid ErrInvalidCacheKey = errors.New("invalid cache key") // ErrCacheFull indicates that the cache is full and cannot accept more items ErrCacheFull = errors.New("cache is full") // ErrSerializationFailed indicates that serialization of the value failed ErrSerializationFailed = errors.New("serialization failed") // ErrDeserializationFailed indicates that deserialization of the value failed ErrDeserializationFailed = errors.New("deserialization failed") // ErrCacheTimeout indicates that a cache operation timed out ErrCacheTimeout = errors.New("cache operation timeout") )
Cache errors
var (
ErrCacheDisabled = fmt.Errorf("cache is disabled")
)
Cache errors
Functions ¶
This section is empty.
Types ¶
type BasicCacheMetrics ¶ added in v1.0.2
type BasicCacheMetrics struct {
// contains filtered or unexported fields
}
BasicCacheMetrics recolecta métricas de cache
func NewBasicCacheMetrics ¶ added in v1.0.2
func NewBasicCacheMetrics() *BasicCacheMetrics
NewBasicCacheMetrics crea un nuevo recolector de métricas
func (*BasicCacheMetrics) GetStats ¶ added in v1.0.2
func (m *BasicCacheMetrics) GetStats() map[string]interface{}
GetStats retorna todas las estadísticas
func (*BasicCacheMetrics) RecordError ¶ added in v1.0.2
func (m *BasicCacheMetrics) RecordError(operation string)
RecordError registra un error en una operación
func (*BasicCacheMetrics) RecordOperation ¶ added in v1.0.2
func (m *BasicCacheMetrics) RecordOperation(operation, key string)
RecordOperation registra una operación de cache
func (*BasicCacheMetrics) RecordOperationWithDuration ¶ added in v1.0.2
func (m *BasicCacheMetrics) RecordOperationWithDuration(operation, key string, duration time.Duration)
RecordOperationWithDuration registra una operación con duración
func (*BasicCacheMetrics) Reset ¶ added in v1.0.2
func (m *BasicCacheMetrics) Reset()
Reset resetea todas las métricas
type CacheConfig ¶
type CacheConfig struct {
// Redis Configuration
RedisHost string
RedisPort string
RedisPassword string
RedisDB int
// Connection Pool
PoolSize int
MinIdleConns int
MaxConnAge time.Duration
PoolTimeout time.Duration
IdleTimeout time.Duration
// Timeouts
ReadTimeout time.Duration
WriteTimeout time.Duration
DialTimeout time.Duration
// Cache Behavior
DefaultExpiration time.Duration
KeyPrefix string
EnableCompression bool
EnableMetrics bool
// Fallback Settings
EnableMemoryFallback bool
MemoryCacheSize int
}
CacheConfig configuración unificada de cache
func DefaultCacheConfig ¶
func DefaultCacheConfig() *CacheConfig
DefaultCacheConfig retorna configuración por defecto
type CacheInterface ¶
type CacheInterface interface {
// Basic operations
Get(ctx context.Context, key string, dest interface{}) error
Set(ctx context.Context, key string, value interface{}, expiration time.Duration) error
Delete(ctx context.Context, key string) error
Exists(ctx context.Context, key string) bool
// Advanced operations
GetMultiple(ctx context.Context, keys []string) (map[string]interface{}, error)
SetMultiple(ctx context.Context, items map[string]interface{}, expiration time.Duration) error
InvalidatePattern(ctx context.Context, pattern string) error
// Atomic operations
SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) (bool, error)
Increment(ctx context.Context, key string, delta int64) (int64, error)
// Info operations
GetTTL(ctx context.Context, key string) time.Duration
Ping(ctx context.Context) error
GetStats(ctx context.Context) (map[string]interface{}, error)
}
CacheInterface define la interfaz unificada de cache
type CacheKey ¶ added in v1.0.2
type CacheKey struct {
Prefix string
Service string
Entity string
ID string
Version string
Tenant string
Suffix string
}
CacheKey construye claves de cache consistentes y optimizadas
func ConfigCacheKey ¶ added in v1.0.2
ConfigCacheKey construye clave de cache para configuración
func QueryCacheKey ¶ added in v1.0.2
QueryCacheKey construye clave de cache para resultados de consulta
func SessionCacheKey ¶ added in v1.0.2
SessionCacheKey construye clave de cache para datos de sesión
func UserCacheKey ¶ added in v1.0.2
UserCacheKey construye clave de cache para datos de usuario
type CacheMetrics ¶
type CacheMetrics struct {
Hits int64
Misses int64
Sets int64
Deletes int64
Errors int64
HitRatio float64
// Métricas avanzadas
LatencySum int64 // Microsegundos
OperationCount int64
EvictionCount int64
CompressionRatio float64
NetworkErrors int64
TimeoutErrors int64
// Métricas de negocio específicas
UserCacheHits int64
SessionCacheHits int64
QueryCacheHits int64
BusinessMetrics map[string]int64
// contains filtered or unexported fields
}
CacheMetrics rastrea estadísticas avanzadas de cache con métricas de negocio
type CacheService ¶ added in v1.0.0
type CacheService struct {
// contains filtered or unexported fields
}
CacheService provides high-level caching operations
func NewCacheService ¶ added in v1.0.0
func NewCacheService(client *RedisClient, logger logger.Logger) *CacheService
NewCacheService creates a new cache service
type CacheWrapper ¶ added in v1.0.2
type CacheWrapper struct {
// contains filtered or unexported fields
}
CacheWrapper proporciona funcionalidades de alto nivel para operaciones de cache comunes
func NewCacheWrapper ¶ added in v1.0.2
func NewCacheWrapper(manager *RedisManager, namespace string) *CacheWrapper
NewCacheWrapper crea un wrapper de cache con funcionalidades avanzadas
func (*CacheWrapper) GetMetrics ¶ added in v1.0.2
func (cw *CacheWrapper) GetMetrics() map[string]interface{}
GetMetrics retorna métricas del wrapper
func (*CacheWrapper) GetMultiple ¶ added in v1.0.2
func (cw *CacheWrapper) GetMultiple(ctx context.Context, keys []CacheKey) (map[string]interface{}, error)
GetMultiple obtiene múltiples claves de cache de forma eficiente
func (*CacheWrapper) GetOrSet ¶ added in v1.0.2
func (cw *CacheWrapper) GetOrSet(ctx context.Context, key CacheKey, dataType string, loadFunc func() (interface{}, error)) (interface{}, error)
GetOrSet implementa patrón cache-aside con función de carga
func (*CacheWrapper) GetOrSetJSON ¶ added in v1.0.2
func (cw *CacheWrapper) GetOrSetJSON(ctx context.Context, key CacheKey, dataType string, target interface{}, loadFunc func() error) error
GetOrSetJSON implementa GetOrSet específicamente para objetos JSON
func (*CacheWrapper) InvalidatePattern ¶ added in v1.0.2
func (cw *CacheWrapper) InvalidatePattern(ctx context.Context, pattern CacheKey) error
InvalidatePattern invalida múltiples claves basadas en patrón
func (*CacheWrapper) Lock ¶ added in v1.0.2
func (cw *CacheWrapper) Lock(ctx context.Context, lockKey string, ttl time.Duration) (*DistributedLock, error)
Lock implementa locks distribuidos usando Redis
func (*CacheWrapper) RefreshCache ¶ added in v1.0.2
func (cw *CacheWrapper) RefreshCache(ctx context.Context, key CacheKey, dataType string, loadFunc func() (interface{}, error)) error
RefreshCache actualiza datos en cache de forma proactiva
func (*CacheWrapper) SetMultiple ¶ added in v1.0.2
func (cw *CacheWrapper) SetMultiple(ctx context.Context, entries map[CacheKey]MultipleEntry) error
SetMultiple almacena múltiples claves de cache de forma eficiente
func (*CacheWrapper) WarmCache ¶ added in v1.0.2
func (cw *CacheWrapper) WarmCache(ctx context.Context, warmupData map[CacheKey]WarmupEntry) error
WarmCache precarga datos críticos en el cache
type CircuitBreaker ¶ added in v1.0.2
type CircuitBreaker struct {
// contains filtered or unexported fields
}
CircuitBreaker implementa patrón circuit breaker para Redis
type Config ¶ added in v1.0.2
type Config struct {
// Configuración básica
Host string
Port string
Password string
DB int
Namespace string
TTL time.Duration
Mode string
// Pool de conexiones optimizado
PoolSize int
MinIdleConns int
MaxRetries int
MaxConnAge time.Duration
// Timeouts configurables
DialTimeout time.Duration
ReadTimeout time.Duration
WriteTimeout time.Duration
PoolTimeout time.Duration
// Configuración de cluster (si aplica)
ClusterAddrs []string
// Características avanzadas
EnableCompression bool
EnableEncryption bool
EncryptionKey string
EnableCircuitBreaker bool
EnableRetryPolicy bool
// Configuración de salud
HealthCheckInterval time.Duration
MaxFailureThreshold int
// Configuración de métricas
EnablePrometheusMetrics bool
MetricsNamespace string
// Integración con gopherkit
BaseConfig *config.BaseConfig
AlertManager *monitoring.AlertManager
}
Config mantiene configuración avanzada de Redis
func LoadConfigFromBase ¶ added in v1.0.2
func LoadConfigFromBase(baseConfig *config.BaseConfig, serviceName string) *Config
LoadConfigFromBase carga configuración Redis desde BaseConfig de gopherkit
type DistributedLock ¶ added in v1.0.2
type DistributedLock struct {
// contains filtered or unexported fields
}
DistributedLock implementa un lock distribuido usando Redis
func NewDistributedLock ¶ added in v1.0.2
func NewDistributedLock(manager *RedisManager, key string, ttl time.Duration) (*DistributedLock, error)
NewDistributedLock crea un nuevo lock distribuido
type MemoryCache ¶
type MemoryCache struct {
// contains filtered or unexported fields
}
MemoryCache implementa un cache en memoria con TTL
func NewMemoryCache ¶
func NewMemoryCache(maxSize int) *MemoryCache
NewMemoryCache crea un nuevo cache de memoria
func (*MemoryCache) Delete ¶
func (c *MemoryCache) Delete(key string)
Delete elimina una clave del cache de memoria
func (*MemoryCache) Exists ¶
func (c *MemoryCache) Exists(key string) bool
Exists verifica si una clave existe en el cache de memoria
func (*MemoryCache) Get ¶
func (c *MemoryCache) Get(key string, dest interface{}) error
Get obtiene un valor del cache de memoria
func (*MemoryCache) GetStats ¶
func (c *MemoryCache) GetStats() map[string]interface{}
GetStats retorna estadísticas del cache
func (*MemoryCache) GetTTL ¶
func (c *MemoryCache) GetTTL(key string) time.Duration
GetTTL obtiene el tiempo de vida restante de una clave
func (*MemoryCache) Increment ¶
func (c *MemoryCache) Increment(key string, delta int64) int64
Increment atomically increments a numeric value
func (*MemoryCache) InvalidatePattern ¶
func (c *MemoryCache) InvalidatePattern(pattern string)
InvalidatePattern elimina todas las claves que coinciden con un patrón
type MemoryCacheItem ¶
MemoryCacheItem representa un elemento en el cache de memoria
func (*MemoryCacheItem) IsExpired ¶
func (item *MemoryCacheItem) IsExpired() bool
IsExpired verifica si el elemento ha expirado
type MemoryCacheStats ¶
type MemoryCacheStats struct {
Hits int64
Misses int64
Sets int64
Deletes int64
Evictions int64
Size int64
// contains filtered or unexported fields
}
MemoryCacheStats estadísticas del cache de memoria
type MultipleEntry ¶ added in v1.0.2
type MultipleEntry struct {
Data interface{}
DataType string
}
MultipleEntry define una entrada para operaciones múltiples
type OperationMetrics ¶
type OperationMetrics struct {
Count int64
TotalTime time.Duration
LastTime time.Time
Errors int64
}
OperationMetrics métricas para una operación específica
type PerformanceStats ¶ added in v1.0.2
type PerformanceStats struct {
TotalOperations int64
AverageLatency float64
P95Latency float64
P99Latency float64
ThroughputPerSecond float64
LastUpdated time.Time
// contains filtered or unexported fields
}
PerformanceStats mantiene estadísticas de rendimiento
type RedisClient ¶ added in v1.0.0
type RedisClient struct {
// contains filtered or unexported fields
}
RedisClient provides Redis caching operations
func NewRedisClient ¶ added in v1.0.0
func NewRedisClient(opts RedisOptions) (*RedisClient, error)
NewRedisClient creates a new Redis client
func (*RedisClient) Close ¶ added in v1.0.0
func (rc *RedisClient) Close() error
Close closes the Redis connection
func (*RedisClient) Delete ¶ added in v1.0.0
func (rc *RedisClient) Delete(ctx context.Context, key string) error
Delete removes a key from cache
func (*RedisClient) FlushPattern ¶ added in v1.0.0
func (rc *RedisClient) FlushPattern(ctx context.Context, pattern string) error
FlushPattern deletes all keys matching a pattern
func (*RedisClient) Get ¶ added in v1.0.0
func (rc *RedisClient) Get(ctx context.Context, key string, dest interface{}) error
Get retrieves a value by key
func (*RedisClient) GetClient ¶ added in v1.0.0
func (rc *RedisClient) GetClient() redis.UniversalClient
GetClient returns the underlying Redis client for advanced operations
func (*RedisClient) GetMultiple ¶ added in v1.0.0
func (rc *RedisClient) GetMultiple(ctx context.Context, keys []string) (map[string]interface{}, error)
GetMultiple gets multiple keys at once
func (*RedisClient) HealthCheck ¶ added in v1.0.0
func (rc *RedisClient) HealthCheck() observability.HealthCheck
HealthCheck returns a health check for Redis
func (*RedisClient) IncrementBy ¶ added in v1.0.0
IncrementBy atomically increments a key by a given amount
func (*RedisClient) Ping ¶ added in v1.0.0
func (rc *RedisClient) Ping(ctx context.Context) error
Ping tests Redis connection
type RedisManager ¶ added in v1.0.2
type RedisManager struct {
// contains filtered or unexported fields
}
RedisManager gestiona conexiones Redis con soporte avanzado para namespace, métricas y configuración dinámica
func GetInstance ¶ added in v1.0.2
func GetInstance(config *Config) (*RedisManager, error)
GetInstance retorna instancia singleton de RedisManager con configuración thread-safe
func NewRedisManager ¶ added in v1.0.2
func NewRedisManager(config *Config) (*RedisManager, error)
NewRedisManager crea un nuevo gestor Redis con configuración mejorada
func (*RedisManager) Close ¶ added in v1.0.2
func (rm *RedisManager) Close() error
Close cierra la conexión Redis de forma graciosa
func (*RedisManager) Delete ¶ added in v1.0.2
func (rm *RedisManager) Delete(ctx context.Context, keys ...string) error
Delete elimina una o más claves del cache
func (*RedisManager) DeletePattern ¶ added in v1.0.2
func (rm *RedisManager) DeletePattern(ctx context.Context, pattern string) error
DeletePattern elimina todas las claves que coinciden con un patrón
func (*RedisManager) Get ¶ added in v1.0.2
Get recupera un valor de cache con circuit breaker y métricas
func (*RedisManager) GetJSON ¶ added in v1.0.2
func (rm *RedisManager) GetJSON(ctx context.Context, key string, dest interface{}) error
GetJSON recupera y deserializa un valor JSON del cache
func (*RedisManager) GetMetrics ¶ added in v1.0.2
func (rm *RedisManager) GetMetrics() map[string]interface{}
GetMetrics retorna métricas completas del cache
func (*RedisManager) Health ¶ added in v1.0.2
func (rm *RedisManager) Health(ctx context.Context) error
Health verifica la salud de la conexión Redis
func (*RedisManager) Set ¶ added in v1.0.2
func (rm *RedisManager) Set(ctx context.Context, key string, value interface{}) error
Set almacena un valor en cache con TTL por defecto y características avanzadas
func (*RedisManager) SetNX ¶ added in v1.0.2
func (rm *RedisManager) SetNX(ctx context.Context, key string, value interface{}, ttl time.Duration) (bool, error)
SetNX almacena un valor solo si la clave no existe (operación atómica)
func (*RedisManager) SetWithTTL ¶ added in v1.0.2
func (rm *RedisManager) SetWithTTL(ctx context.Context, key string, value interface{}, ttl time.Duration) error
SetWithTTL almacena un valor en cache con TTL personalizado
type RedisOptions ¶ added in v1.0.0
type RedisOptions struct {
Config config.CacheConfig
Logger logger.Logger
}
RedisOptions holds options for Redis client
type RetryPolicy ¶ added in v1.0.2
type RetryPolicy struct {
MaxAttempts int
InitialDelay time.Duration
MaxDelay time.Duration
BackoffFactor float64
RetryCondition func(error) bool
}
RetryPolicy define política de reintentos
type TTLCalculator ¶ added in v1.0.2
type TTLCalculator struct {
// contains filtered or unexported fields
}
TTLCalculator calcula TTLs dinámicos basados en contexto
func NewTTLCalculator ¶ added in v1.0.2
func NewTTLCalculator(baseTTL time.Duration) *TTLCalculator
NewTTLCalculator crea un calculador de TTL con estrategias predefinidas
func (*TTLCalculator) CalculateTTL ¶ added in v1.0.2
func (tc *TTLCalculator) CalculateTTL(dataType string, accessCount int64) time.Duration
CalculateTTL calcula TTL dinámico para un tipo de dato específico
type TTLStrategy ¶ added in v1.0.2
type TTLStrategy struct {
MinTTL time.Duration
MaxTTL time.Duration
Multiplier float64
Randomness float64 // Factor de aleatoridad para evitar cache stampede
AccessBased bool // TTL basado en frecuencia de acceso
}
TTLStrategy define estrategia de TTL para diferentes tipos de datos
type UnifiedCache ¶
type UnifiedCache struct {
// contains filtered or unexported fields
}
UnifiedCache implementación unificada de cache con Redis y fallback en memoria
func NewUnifiedCache ¶
func NewUnifiedCache(config *CacheConfig, logger *logrus.Logger) (*UnifiedCache, error)
NewUnifiedCache crea una nueva instancia de cache unificado
func (*UnifiedCache) Close ¶
func (c *UnifiedCache) Close() error
Close cierra todas las conexiones del cache
func (*UnifiedCache) Delete ¶
func (c *UnifiedCache) Delete(ctx context.Context, key string) error
Delete elimina una clave del cache
func (*UnifiedCache) Exists ¶
func (c *UnifiedCache) Exists(ctx context.Context, key string) bool
Exists verifica si una clave existe en el cache
func (*UnifiedCache) Get ¶
func (c *UnifiedCache) Get(ctx context.Context, key string, dest interface{}) error
Get obtiene un valor del cache
func (*UnifiedCache) GetMultiple ¶
func (c *UnifiedCache) GetMultiple(ctx context.Context, keys []string) (map[string]interface{}, error)
GetMultiple obtiene múltiples valores del cache
func (*UnifiedCache) GetStats ¶
func (c *UnifiedCache) GetStats(ctx context.Context) (map[string]interface{}, error)
GetStats obtiene estadísticas del cache
func (*UnifiedCache) InvalidatePattern ¶
func (c *UnifiedCache) InvalidatePattern(ctx context.Context, pattern string) error
InvalidatePattern elimina todas las claves que coinciden con un patrón
func (*UnifiedCache) Ping ¶
func (c *UnifiedCache) Ping(ctx context.Context) error
Ping verifica la conectividad del cache
func (*UnifiedCache) Set ¶
func (c *UnifiedCache) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) error
Set guarda un valor en el cache
func (*UnifiedCache) SetMultiple ¶
func (c *UnifiedCache) SetMultiple(ctx context.Context, items map[string]interface{}, expiration time.Duration) error
SetMultiple guarda múltiples valores en el cache
type WarmupEntry ¶ added in v1.0.2
WarmupEntry define una entrada para precarga de cache