
specsfy-specialist-redis
Projetar e operar Redis para cache, filas, sessões, rate limiting, locks distribuídos, streams e dados efêmeros com limites e falhas explícitos. Use quando houver Redis ou clientes compatíveis (Valkey), TTLs, Lua, Cluster, Sentinel ou persistência RDB/AOF; não trate Redis como source of truth durável sem requisito explícito e evidência de RPO/RTO aceitável.
- Installs
- 198
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/promovaweb/specsfy --skill specsfy-specialist-redis- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads specsfy-specialist-redis automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Redis
Quando usar
- Acionar para desenhar cache, sessão, rate limiter, lock distribuído, fila simples ou stream sobre Redis/Valkey, ou para diagnosticar cache stampede, hot key, eviction inesperada ou indisponibilidade.
- Acionar também para revisar configuração de persistência (RDB/AOF), Cluster/Sentinel ou política de memória em produção.
- Não acionar para modelar o dado durável de origem — Redis é acelerador ou
estrutura efêmera; a fonte de verdade e sua integridade pertencem a
$specsfy-specialist-postgres(ou ao banco relevante). - Combinar com
$specsfy-specialist-observabilitypara métricas e alertas de cache em produção, e com$specsfy-specialist-laravel/outro framework quando o driver de cache/fila da aplicação for Redis.
Fluxo
- Definir a finalidade do dado (cache, sessão, fila, lock, contador), quem é o source of truth, a consistência necessária e a tolerância real à perda daquele dado se o Redis reiniciar vazio.
- Estimar cardinalidade, tamanho médio do valor, taxa de escrita/leitura, TTL necessário e o padrão de acesso (aleatório, sequencial, hot key concentrada).
- Escolher a estrutura de dado e um esquema de chave namespaced e estável
(
app:recurso:id), evitando chave dinâmica demais que exploda a cardinalidade de chaves. - Projetar explicitamente cache stampede, estratégia de invalidação, retry e o comportamento da aplicação quando o Redis está indisponível (fail open vs fail closed).
- Configurar limite de memória, política de eviction e persistência (ou ausência dela) conforme o papel do dado — cache tolera perda, lock e contador de negócio não.
- Testar concorrência (duas escritas simultâneas na mesma chave), expiração no meio de uma operação, indisponibilidade do Redis e recuperação (cold start após restart/failover).
- Medir hit rate, latência (p50/p99), uso de memória, número de conexões e hot keys antes de declarar a solução pronta.
Padrões
- Dar TTL explícito a toda chave de cache e definir, por chave, quem é responsável por invalidá-la (evento de escrita, TTL curto, ambos).
- Evitar comandos que bloqueiam o event loop single-threaded do Redis em
produção —
KEYS *,FLUSHALL/FLUSHDBfora de manutenção controlada,SORTsemLIMITem coleção grande; usarSCANcom cursor para iteração. - Usar operações atômicas nativas (
INCR,SETNX,GETEX) ou script Lua (EVAL/EVALSHA, executado atomicamente pelo Redis) quando a invariante exigir "ler e escrever" sem condição de corrida. - Tratar lock distribuído como lease com timeout e dono verificável: gerar
um token único no
SET key token NX PX ttl, e só liberar com script que confirmaGET key == tokenantes doDEL— nuncaDELincondicional. - Separar namespace/database lógico e política de eviction por workload incompatível — cache volátil e dado que não pode ser evictado (fila, lock) não competem pela mesma política de memória.
- Não serializar objeto sem versão de schema embutida (dificulta migração futura do formato) nem guardar segredo (senha, token bruto) em valor sem necessidade — Redis não é cofre de segredo.
- Confirmar a semântica de entrega antes de tratar Redis como fila: Pub/Sub é fire-and-forget (assinante ausente perde a mensagem); Streams com consumer group oferece at-least-once com ACK explícito e precisa de reprocessamento idempotente do lado consumidor.
Antipadrões
- Cache sem jitter no TTL: muitas chaves expirando no mesmo instante geram thundering herd contra o banco — adicionar variação aleatória ao TTL ou usar lock/refresh antecipado evita o pico simultâneo.
- Retry cego de comando não idempotente após timeout — se o comando original foi processado mas a resposta se perdeu, o retry duplica o efeito; use operação idempotente ou token de deduplicação.
- Chave com cardinalidade não controlada (
session:<uuid>sem TTL, acumulando para sempre) — memória cresce sem bound até o Redis começar a evictar ou cair por OOM. - Lock distribuído implementado com
SETNX+DELsimples, sem TTL — um processo que trava ou morre antes doDELdeixa o lock preso indefinidamente. - Tratar
maxmemory-policypadrão (noeviction) como cache automático — comnoeviction, ao atingir o limite de memória o Redis passa a rejeitar escritas em vez de evictar, o que derruba a aplicação se ela não trata esse erro.
Validação
- Exercitar miss, hit, expiração no meio da operação, cache stampede simulado e Redis indisponível — cada cenário com o comportamento esperado documentado, não "deve funcionar".
- Verificar limite de memória, política de eviction, persistência e failover (Sentinel/Cluster) em ambiente que reproduz a topologia real, não apenas uma instância única de desenvolvimento.
- Observar
INFO, slow log (SLOWLOG GET) e métricas do cliente sem expor valor sensível nos logs. - Comparar o comportamento da aplicação com e sem cache para provar que o cache não introduziu dado desatualizado ou inconsistente no caminho crítico.
- Não declarar um lock "seguro" sem o teste de dois processos concorrentes disputando a mesma chave, nem uma fila "confiável" sem o teste de reprocessamento por reentrega.
Skills relacionadas
$specsfy-specialist-performance-engineeringmede se Redis reduz o gargalo e verifica custo, cauda de latência e regressão sob carga.$specsfy-specialist-postgresquando Redis for cache derivado de dado cuja fonte de verdade e integridade são do banco relacional.$specsfy-specialist-observabilitypara métricas, alertas e dashboards de cache em produção.$specsfy-specialist-laravelquando o cliente for o driver de cache/ fila/sessão do framework.$specsfy-specialist-docker/$specsfy-specialist-docker-swarmpara empacotar e operar Redis/Sentinel/Cluster.
Leia references/standards.md para estruturas de dado, persistência, cluster, segurança e padrões de cache.
FAQ
What does the specsfy-specialist-redis skill do?
Projetar e operar Redis para cache, filas, sessões, rate limiting, locks distribuídos, streams e dados efêmeros com limites e falhas explícitos. Use quando houver Redis ou clientes compatíveis (Valkey), TTLs, Lua, Cluster, Sentinel ou persistência RDB/AOF; não trate Redis como source of truth durável sem requisito explícito e evidência de RPO/RTO aceitável.
How do I install specsfy-specialist-redis?
Run npx skills add https://github.com/promovaweb/specsfy --skill specsfy-specialist-redis in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/specsfy-specialist-redis/ (personal) or .claude/skills/specsfy-specialist-redis/ (project).
Which AI agents can use specsfy-specialist-redis?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is specsfy-specialist-redis safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains specsfy-specialist-redis?
It is published by promovaweb in promovaweb/specsfy. It has 198 recorded installs.
More from promovaweb/specsfy
specsfy-aux-stack
promovaweb/specsfy
Monitorar manifests e arquivos estruturais para criar ou atualizar .specsfy/STACK.md de forma aditiva. Use quando o monitor de contexto apontar stack pendente; quando framework, linguagem, runtime, pacote estrutural, ferramenta de teste ou persistência mudar; quando a documentação técnica estiver incompleta; ou após adicionar Laravel, Next.js, Astro ou dependências relevantes. Preserva conteúdo humano existente.
specsfy-specialist-data-modeling
promovaweb/specsfy
Modelar dados, entidades, relações, ciclos de vida, qualidade e contratos persistentes antes de implementar mudanças.
specsfy-specialist-software-architecture
promovaweb/specsfy
Analisar e evoluir arquitetura com boundaries, dependências, atributos de qualidade, integrações, ADRs, migração e trade-offs. Use para modularização, coupling, escalabilidade, resiliência ou decisões difíceis de reverter; não use para renomeação local sem impacto estrutural.
specsfy-specialist-domain-modeling
promovaweb/specsfy
Descobrir e refinar linguagem de domínio, invariantes, eventos, aggregates e boundaries a partir de cenários concretos. Use quando termos, regras ou ownership estiverem ambíguos ou uma decisão de modelo for necessária; não criar documentação paralela à fonte autorizada.
specsfy-specialist-reui
promovaweb/specsfy
Criar interfaces React e Tailwind CSS com os componentes gratuitos do ReUI. Use em projetos com React, Tailwind CSS e shadcn/ui, incluindo Laravel com Inertia; não use itens premium nem introduza ReUI sem confirmar a stack.
specsfy-setup
promovaweb/specsfy
Preparar e monitorar os contextos do projeto, incluindo a constituição e as specs preservadas de projetos com GitHub Spec Kit.
Popular data & databases skills
supabase-postgres-best-practices
supabase/agent-skills
Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.
prisma-client-api
prisma/skills
Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".
prisma-database-setup
prisma/skills
Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.
prisma-cli
prisma/skills
Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.
prisma-postgres
prisma/skills
Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.
prisma-driver-adapter-implementation
prisma/skills
Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.