What problem does it solve? Redis client code often suffers from per-request connection creation, N+1 round trips, blocking commands that stall the server, and poorly tuned timeouts. This Skill provides concrete guidance for configuring Redis clients efficiently across redis-py, Jedis, Lettuce, go-redis, and NRedisStack. ## Core Features & Use Cases - Connection Pooling & Multiplexing: Reuse persistent connections via pools (redis-py, Jedis, go-redis) or a single multiplexed connection (Lettuce, NRedisStack) instead of opening a new TCP connection per request. - Pipelining & Safe Iteration: Batch independent commands into one round trip with pipelines, and replace blocking commands like KEYS, SMEMBERS, and HGETALL with incremental SCAN, SSCAN, and HSCAN cursor loops. - Client-Side Caching & Timeouts: Enable RESP3 client-side caching for read-heavy hot keys, and set explicit connect and read timeouts matched to the application's failure model. - Use Case: When reviewing a Python service that creates a new redis.Redis() instance per request and calls KEYS in a loop, apply this Skill to introduce a ConnectionPool, pipeline the bulk reads, and switch to SCAN-based iteration. ## Quick Start Review my Redis client setup and rewrite it to use a connection pool, pipeline the batch reads, replace KEYS with SCAN, and set explicit socket timeouts.