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 correctly across redis-py, Jedis, Lettuce, go-redis, and NRedisStack. ## Core Features & Use Cases - Connection Pooling & Multiplexing: Reuse connections via pools (redis-py, Jedis, go-redis) or multiplexing (Lettuce, NRedisStack) instead of opening a new TCP connection per request. - Pipelining & Safe Iteration: Batch independent commands into one round trip and replace KEYS, SMEMBERS, and HGETALL with SCAN, SSCAN, and HSCAN cursor loops. - Client-Side Caching & Timeouts: Enable RESP3 client-side caching for read-heavy hot keys and set explicit connect/read timeouts matched to your failure model. - Use Case: You notice high latency in a Python service making many small Redis calls. Apply this Skill to switch to a shared ConnectionPool, pipeline the bulk GETs, and add socket timeouts to fail fast on dead nodes. ## Quick Start Review my Redis client setup and rewrite it to use connection pooling, pipelining for bulk reads, and explicit socket timeouts.