К основному содержанию
скилл CX Codex

redis-connections — скилл для Claude Code: клиент Redis без лишних

Скилл, который подсказывает агенту, как правильно настроить клиент Redis: пул соединений, пайплайны, таймауты и кэш на стороне клиента.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add redis/agent-skills --skill redis-connections -a claude-code
Открыть на GitHub

Что делает redis-connections

Скилл разбирает пять тем: пул или мультиплексирование вместо нового TCP-соединения на каждый запрос, пайплайнинг пачки команд, замена KEYS, SMEMBERS и HGETALL на инкрементальные SCAN, SSCAN и HSCAN, кэш на стороне клиента через RESP3 и явные таймауты сокета. Внутри — примеры на redis-py, таблица различий между пулом и мультиплексированием, ссылки на справочные материалы в references/.

Агенту скилл полезен, когда он пишет или проверяет код клиента Redis: redis-py, Jedis, Lettuce, go-redis, NRedisStack. Он подскажет, что мультиплексированное соединение в Lettuce и NRedisStack не тянет блокирующие команды вроде BLPOP, поэтому для очередей нужен пул.

Кэш на стороне клиента включайте только для данных, которые читают часто, а пишут редко: конфиги, фича-флаги, сессии. На нагрузке с постоянной записью трафик инвалидации съест всю выгоду. Таймауты скилл советует ставить короче на подключение, чем на чтение, и включать retry_on_timeout.

Какие задачи решает

  • убрать создание нового соединения на каждый запрос к Redis
  • собрать пачку независимых команд в один пайплайн
  • переписать обход ключей с KEYS на цикл по SCAN
  • включить кэш на стороне клиента для горячих ключей
  • подобрать таймауты подключения и чтения под модель отказов приложения

Примеры запросов агенту

  • Настрой пул соединений для redis-py в этом сервисе
  • Замени KEYS user:* на обход через SCAN
  • Включи кэш на стороне клиента для конфигов через RESP3

Как установить redis-connections

1Через Skills CLI (Vercel)

npx skills add redis/agent-skills --skill redis-connections -a claude-code

2Вручную: положить файлы

~/.claude/skills/redis-connections/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/redis-connections/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора7

redis-core Скилл подсказывает агенту, какой тип данных Redis выбрать под задачу и как назвать ключи. Пригодится при проектировании кэша, счётчиков и сессий. CX Codex +1 4 000установок redis-security Настраивает защиту Redis через аутентификацию, TLS, ACL и сетевые ограничения. Нужен при развёртывании или аудите Redis в production. CX Codex +1 2 400установок redis-observability Подсказывает, какие метрики Redis держать под наблюдением и какие встроенные команды запускать при разборе инцидентов. CX Codex +1 2 300установок redis-semantic-cache Скилл объясняет, как поставить семантический кэш LangCache перед вызовом модели: похожие промпты получают готовый ответ без нового запроса. CX Codex +1 1 900установок redis-clustering Подсказывает, как разложить ключи по слотам Redis Cluster и снять нагрузку чтения с праймари. Пригодится, когда ловишь CROSSSLOT на MGET или проектируешь ключи заранее. CX Codex +1 1 800установок redis-search Скилл ведёт агента по Redis Search: схема индекса, типы полей, запросы FT.SEARCH и векторный поиск. Пригодится, когда надо собрать поиск или RAG на Redis. CX Codex +1 1 600установок

Похожие

redis-patterns affaan-m Готовые паттерны Redis для бэкенда: кэширование, распределённые блокировки, скользящий rate limiting и работа со стримами. CX Codex +1 4 700установок redis-best-practices Mindrally Набор практик и готовых паттернов для работы с Redis в Claude Code. Помогает настроить структуры данных, инвалидацию кэша и блокировки без ошибок. CX Codex +1 2 200установок redis-js upstash Справочник по библиотеке @upstash/redis для бессерверных сред. Помогает ИИ-агенту писать запросы к Redis без лишней ручной сериализации. CX Codex +1 1 500установок bun-redis secondsky Скилл подсказывает агенту, как подключить Redis в проекте на Bun: клиенты, кеш, pub/sub, сессии. CX Codex +1 388установок Redis Caching taste f Промпт задаёт ИИ-ассистенту набор правил работы с Redis: cache-aside, TTL с джиттером, инвалидация после записи. Пригодится, когда проектируешь кэш и не хочешь забыть про stampede и утечки памяти. GP ChatGPT ★ 174 597звёзд репо redis devops-skills Скилл для настройки Redis: кеш, очереди, Sentinel, кластер. Пригодится, когда агенту нужно развернуть или подкрутить Redis в проекте. CX Codex +1 379установок

Рядом в теме «Данные и базы»

Всё по теме «Данные и базы» →

Вопросы о redis-connections

Как установить redis-connections в Claude?

Выполните npx skills add redis/agent-skills --skill redis-connections -a claude-code. Скилл встанет в ~/.claude/skills/redis-connections/SKILL.md.

Что делает redis-connections?

Даёт агенту правила работы с клиентом Redis: пул или мультиплексирование, пайплайнинг, инкрементальный обход вместо блокирующих команд, кэш на стороне клиента и таймауты сокета.

Почему нельзя ставить блокирующие команды на мультиплексированное соединение?

Lettuce и NRedisStack делят одно соединение между всеми запросами, а BLPOP, BRPOP и BLMOVE ждут данных и держат его. Для очередей скилл советует пул и обязательный таймаут.

Исходный текст

SKILL.md · MIT
---
name: redis-connections
description: Redis client and connection guidance covering connection pooling, multiplexing, pipelining, client-side caching with RESP3, avoiding slow commands (KEYS, SMEMBERS, HGETALL), and tuning socket timeouts. Use when configuring a Redis client (redis-py, Jedis, Lettuce, NRedisStack), batching commands for throughput, eliminating per-request connection creation, iterating large keyspaces with SCAN, enabling client-side caching for read-heavy workloads, or setting connect and read timeouts.
license: MIT
metadata:
  author: Redis, Inc.
  version: "0.1.0"
---

# Redis Connections

Client-side guidance for talking to Redis efficiently: how to share connections, how to batch commands, which commands not to call in production, when to turn on client-side caching, and how to set timeouts that fail fast without breaking healthy traffic.

## When to apply

- Creating or reviewing a Redis client setup (redis-py, Jedis, Lettuce, go-redis, NRedisStack).
- Making many small Redis calls and wondering where the latency is going.
- Iterating large keyspaces, sets, hashes, or lists.
- Enabling client-side caching for hot keys.
- Tuning connect / read / write timeouts.

## 1. Pool or multiplex — never one connection per request

The single biggest mistake in Redis client code is opening a new TCP connection for every operation. Always either:

- **Pool** — keep N persistent connections that the application leases per call (redis-py `ConnectionPool`, Jedis `JedisPooled`, go-redis client).
- **Multiplex** — share a single connection across all requests (Lettuce, NRedisStack).

| Style | Used by | Note |
|---|---|---|
| Pool | redis-py, Jedis, go-redis | Each lease blocks if pool exhausted; size the pool to your concurrency |
| Multiplex | Lettuce, NRedisStack | Single connection; **cannot** carry blocking commands like `BLPOP` |

```python
# redis-py — connection pool
pool = redis.ConnectionPool(host="localhost", port=6379, max_connections=50)
r = redis.Redis(connection_pool=pool)
```

See [references/pooling.md](references/pooling.md) for Python + Java + Lettuce examples.

## 2. Pipeline bulk work

For N commands that don't depend on each other's results, send them as a single batch with pipelining. One round-trip instead of N.

```python
pipe = redis.pipeline()
for user_id in user_ids:
    pipe.get(f"user:{user_id}")
results = pipe.execute()
```

Use **non-transactional** pipelining for performance, and `pipeline(transaction=True)` only when you actually need atomicity (see redis-core's transactions guidance).

See [references/pipelining.md](references/pipelining.md).

## 3. Avoid commands that scan everything

Anything that walks the whole keyspace (or a whole large container) blocks the server. Use incremental variants instead.

| Don't | Use |
|---|---|
| `KEYS pattern` | `SCAN` cursor loop |
| `SMEMBERS large_set` | `SSCAN` |
| `HGETALL large_hash` | `HSCAN` |
| `LRANGE 0 -1` on a huge list | Paginate (`LRANGE 0 100`) |

```python
cursor = 0
while True:
    cursor, keys = redis.scan(cursor, match="user:*", count=100)
    for key in keys:
        process(key)
    if cursor == 0:
        break
```

**Blocking commands (`BLPOP`, `BRPOP`, `BLMOVE`) are different** — they intentionally wait for data and are fine for queue consumers, but always pass a timeout, and don't issue them on a multiplexed connection (Lettuce, NRedisStack).

See [references/blocking.md](references/blocking.md).

## 4. Client-side caching for hot keys

For data that's read often and written rarely (config, feature flags, sessions on every request), enable RESP3 client-side caching. The client keeps a local copy and the server invalidates it on writes — saving the round trip for hot reads.

```python
client = redis.Redis(
    host="localhost",
    port=6379,
    protocol=3,                                    # RESP3 is required
    cache_config=redis.CacheConfig(max_size=1000),
)
```

Skip it for write-heavy workloads or data that changes constantly — the invalidation traffic overruns the savings.

See [references/client-cache.md](references/client-cache.md).

## 5. Set explicit timeouts

Defaults vary by client and may be too generous. Pick values that match the *application's* failure model:

```python
r = redis.Redis(
    host="localhost",
    socket_connect_timeout=2.0,   # fail fast on dead nodes
    socket_timeout=5.0,           # tune to expected operation time
    retry_on_timeout=True,
)
```

Rule of thumb: connect timeout shorter than read/write timeout. Tight timeouts + retry-on-timeout for latency-sensitive paths; longer timeouts for batch jobs.

See [references/timeouts.md](references/timeouts.md).

## References

- [Redis: Connection Pools and Multiplexing](https://redis.io/docs/latest/develop/clients/pools-and-muxing/)
- [Redis: Pipelining](https://redis.io/docs/latest/develop/use/pipelining/)
- [Redis: SCAN](https://redis.io/docs/latest/commands/scan/)
- [Redis: Client-side caching](https://redis.io/docs/latest/develop/clients/client-side-caching/)
- [Redis: Clients](https://redis.io/docs/latest/develop/clients/)

© Redis, Inc. · MIT · redis/agent-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой