mcpField
I
ioredis

ioredis

github.com/jgamaraalvDevelopment1557 installsUpdated 35w ago
Repository

About ioredis

A reference skill for developers using ioredis v5, the TypeScript Redis client. It covers core operations, connection guidance, and advanced Redis patterns.

Key features

  1. 01Redis connection setup
  2. 02Pipelines and transactions
  3. 03Pub/Sub and Lua scripts
  4. 04Scanning and stream patterns
  5. 05Cluster and Sentinel guidance

Use cases

  1. 01Setting up a Redis connection
  2. 02Choosing patterns for multi-command operations
  3. 03Working with Pub/Sub or Lua scripts
  4. 04Configuring Redis Cluster or Sentinel

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/jgamaraalv/ts-dev-kit --skill ioredis

After installing, type/ioredisin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
advanced-patterns.md
cluster-sentinel.md
connection-options.md
core-api.md

Details

From the project README

ioredis v5 — Node.js Redis Client

ioredis v5.x. Requires Node.js >= 12, Redis >= 2.6.12. 100% TypeScript.

<quick_reference>

Critical: Import Style

// CORRECT — named import (required for NodeNext / moduleResolution: "nodenext")
import { Redis } from "ioredis";

// For Cluster:
import { Redis, Cluster } from "ioredis";

Quick Reference

OperationCode
Connectnew Redis() or new Redis(6379, "host") or new Redis("redis://...")
Get/Setawait redis.set("key", "val") / await redis.get("key")
Pipelineawait redis.pipeline().set("a","1").get("a").exec()
Transactionawait redis.multi().set("a","1").get("a").exec()
Pub/Subsub.subscribe("ch") / sub.on("message", cb) / pub.publish("ch", msg)
Lua scriptredis.defineCommand("name", { numberOfKeys: 1, lua: "..." })
Scanredis.scanStream({ match: "prefix:*", count: 100 })
Graceful closeawait redis.quit()
Force closeredis.disconnect()

</quick_reference>

Common Gotchas

  1. Named import: Always import { Redis } from "ioredis" with NodeNext resolution
  2. Pub/Sub isolation: A subscribed client cannot run other commands — use separate instances
  3. maxRetriesPerRequest: Default is 20. Set to null for infinite retries (required by BullMQ)
  4. Pipeline errors: pipeline.exec() never rejects — errors are in each result's [0] position
  5. showFriendlyErrorStack: Performance cost — never enable in production
  6. Cluster pipelines: All keys in a pipeline must hash to slots served by the same node
  7. enableAutoPipelining: 35-50% throughput improvement, safe to enable globally

When to Load References

NeedReference file
Connection setup, RedisOptions, TLS, retryStrategy, lifecyclereferences/connection-options.md
Core API: pipelines, transactions, Pub/Sub, Lua scripting, scanning, eventsreferences/core-api.md
Streams, auto-pipelining, transformers, binary data, error handling, debuggingreferences/advanced-patterns.md
Redis Cluster setup, ClusterOptions, Sentinel config, failoverreferences/cluster-sentinel.md

Comments

Markdown supported