redis-core

作成者: redis

Core Redisモデリングガイダンス — 適切なデータ構造(String、Hash、List、Set、Sorted Set、JSON、Stream、Vector Set)を選択し、一貫性を持って使用…

npx skills add https://github.com/redis/agent-skills --skill redis-core

Redis Core

Foundational guidance for modeling data in Redis. Covers data-type selection and key-name conventions — the two decisions that most directly drive memory, performance, and maintainability.

When to apply

  • Caching objects, sessions, or per-user state.
  • Counters, leaderboards, recent-items lists, unique-membership sets.
  • Reviewing or refactoring Redis key names.
  • Deciding between a Redis Hash and a JSON document for an entity.

1. Choose the right data structure

Pick the type that matches the access pattern, not just the shape of the data.

Use caseRecommended typeWhy
Simple values, countersStringAtomic INCR/DECR, SET/GET
Object with independently updated fieldsHashPer-field reads/writes, no whole-object rewrite
Queue, recent-N itemsListO(1) push/pop at ends
Unique items, membership checksSetO(1) SADD/SISMEMBER/SCARD
Rankings, score-based rangesSorted SetScore-ordered; ZADD/ZRANGE/ZRANK
Nested / hierarchical dataJSONPath-level updates, nested arrays, RQE indexing
Event log, fan-out messagingStreamPersistent, consumer groups
Vector similarityVector SetNative vector storage with HNSW

Common anti-pattern: stuffing a flat object into a serialized string. Updating one field means fetch + parse + mutate + rewrite. Use a Hash instead.

See references/choose-data-structure.md for full rationale and Python/Java examples.

2. Use consistent key names

Use colon-separated segments with a stable hierarchy:

{entity}:{id}:{attribute}
user:1001:profile
user:1001:settings
order:2024:items
session:abc123
article:987:likes
game:space-invaders:leaderboard

Rules of thumb:

  • Lowercase, colon-separated. No spaces, no mixed casing (User_1001_Profile is bad).
  • Keep keys short but readable — keys live in memory and appear in every command.
  • Don't use full URLs or long strings as keys. Extract a short identifier, or use a hash digest of the URL.
  • Prefix for multi-tenancy (tenant:42:user:7:cart) so scans and ACLs can target a tenant cleanly.
  • Be consistent. Pick one convention per service and apply it across all keys.

See references/key-naming.md for cleanup examples and edge cases.

References

redisのその他のスキル

docs-sync
redis
masterブランチの実装と設定を分析し、docs/、README.md、およびパッケージごとのREADMEにあるドキュメントの欠落、誤り、または古い部分を特定します。
official
implement-command
redis
Add a new Redis command (or command variant) to node-redis end-to-end — the `<NAME>.ts` Command file, its registration with JSDoc in the package…
official
maintainer-review
redis
GitHubのIssueまたはPull RequestのURLをnode-redisメンテナーとしてレビューし、その主張が現実的か、実用的に重要か、すでに…について段階的に評価します。
official
pr-draft-summary
redis
node-redisに必要なPR対応のサマリーブロック、ブランチ提案、タイトル、ドラフト説明を作成します。最終応答の前に必ず使用してください。
official
runtime-behavior-probe
redis
一時的なTypeScriptプローブスクリプト、検証マトリックス、状態制御、および発見優先のレポートを使用して、runtime-behavior-probeの調査を計画および実行します。使用…
official
backend
redis
NestJSバックエンド開発パターン(RedisInsight API向け):モジュール構造、サービス、コントローラー、DTO、依存性注入、エラーハンドリング。以下の場合に使用…
official
branches
redis
小文字のケバブケースを使用し、タイププレフィックスとイシュー/チケット識別子を付けてください。ブランチ名はGitHub Actionsワークフロールール(.github/workflows/enforce-branch-name-rules.ymlを参照)に一致する必要があります。
official
code-quality
redis
Code-quality standards for RedisInsight: TypeScript strictness, naming conventions (camelCase, PascalCase, UPPER_SNAKE_CASE), linting rules, no `any` without…
official