MCPcopy Index your code
hub / github.com/devaccuracy/ledgerforge / newRedisCache

Function newRedisCache

internal/cache/cache.go:98–115  ·  view source on GitHub ↗

newRedisCache sets up a Redis-backed cache with local caching (TinyLFU). Parameters: - addresses: The Redis server addresses to connect to. Returns a RedisCache instance and an error if the connection fails.

(addresses []string, skipTLSVerify bool, poolSize int, minIdleConns int)

Source from the content-addressed store, hash-verified

96// - addresses: The Redis server addresses to connect to.
97// Returns a RedisCache instance and an error if the connection fails.
98func newRedisCache(addresses []string, skipTLSVerify bool, poolSize int, minIdleConns int) (*RedisCache, error) {
99 // Initialize the Redis client using the provided addresses
100 client, err := redis_db.NewRedisClient(addresses, skipTLSVerify, &redis_db.PoolConfig{
101 PoolSize: poolSize,
102 MinIdleConns: minIdleConns,
103 })
104 if err != nil {
105 return nil, err
106 }
107
108 // Create a cache instance with Redis and local cache support
109 c := cache.New(&cache.Options{
110 Redis: client.Client(),
111 LocalCache: cache.NewTinyLFU(cacheSize, 1*time.Minute), // Local cache uses TinyLFU eviction policy
112 })
113
114 return &RedisCache{cache: c}, nil
115}
116
117// Set adds a new entry to the cache with a specified key and TTL.
118// Parameters:

Callers 1

NewCacheFunction · 0.85

Calls 1

ClientMethod · 0.80

Tested by

no test coverage detected