Redis performance optimization and best practices. Use this skill when working with Redis data structures, Redis Query Engine (RQE), vector search with RedisVL, semantic caching with LangCache, or optimizing Redis performance.
Redis Best Practices
Comprehensive performance optimization guide for Redis, including Redis Query Engine, vector search, and semantic caching. Contains 29 rules across 11 categories, prioritized by impact to guide automated optimization and code generation.
When to Apply
Reference these guidelines when:
- Designing Redis data models and key structures
- Implementing caching, sessions, or real-time features
- Using Redis Query Engine (FT.CREATE, FT.SEARCH, FT.AGGREGATE)
- Building vector search or RAG applications with RedisVL
- Implementing semantic caching with LangCache
- Optimizing Redis performance and memory usage
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Data Structures & Keys | HIGH | data- |
| 2 | Memory & Expiration | HIGH | ram- |
| 3 | Connection & Performance | HIGH | conn- |
| 4 | JSON Documents | MEDIUM | json- |
| 5 | Redis Query Engine | HIGH | rqe- |
| 6 | Vector Search & RedisVL | HIGH | vector- |
| 7 | Semantic Caching | MEDIUM | semantic-cache- |
| 8 | Streams & Pub/Sub | MEDIUM | stream- |
| 9 | Clustering & Replication | MEDIUM | cluster- |
| 10 | Security | HIGH | security- |
| 11 | Observability | MEDIUM | observe- |
Quick Reference
1. Data Structures & Keys (HIGH)
data-choose-structure- Choose the Right Data Structuredata-key-naming- Use Consistent Key Naming Conventions
2. Memory & Expiration (HIGH)
ram-limits- Configure Memory Limits and Eviction Policiesram-ttl- Set TTL on Cache Keys
3. Connection & Performance (HIGH)
conn-blocking- Avoid Slow Commands in Productionconn-pipelining- Use Pipelining for Bulk Operationsconn-pooling- Use Connection Pooling or Multiplexingconn-timeouts- Configure Connection Timeouts
4. JSON Documents (MEDIUM)
json-partial-updates- Use JSON Paths for Partial Updatesjson-vs-hash- Choose JSON vs Hash Appropriately
5. Redis Query Engine (HIGH)
rqe-dialect- Use DIALECT 2 for Query Syntaxrqe-field-types- Choose the Correct Field Typerqe-index-creation- Index Only Fields You Queryrqe-index-management- Manage Indexes for Zero-Downtime Updatesrqe-query-optimization- Write Efficient Queries
6. Vector Search & RedisVL (HIGH)
vector-algorithm-choice- Choose HNSW vs FLAT Based on Requirementsvector-hybrid-search- Use Hybrid Search for Better Resultsvector-index-creation- Configure Vector Indexes Properlyvector-rag-pattern- Implement RAG Pattern Correctly
7. Semantic Caching (MEDIUM)
semantic-cache-best-practices- Configure Semantic Cache Properlysemantic-cache-langcache-usage- Use LangCache for LLM Response Caching
8. Streams & Pub/Sub (MEDIUM)
stream-choosing-pattern- Choose Streams vs Pub/Sub Appropriately
9. Clustering & Replication (MEDIUM)
cluster-hash-tags- Use Hash Tags for Multi-Key Operationscluster-read-replicas- Use Read Replicas for Read-Heavy Workloads
10. Security (HIGH)
security-acls- Use ACLs for Fine-Grained Access Controlsecurity-auth- Always Use Authentication in Productionsecurity-network- Secure Network Access
11. Observability (MEDIUM)
observe-commands- Use Observability Commands for Debuggingobserve-metrics- Monitor Key Redis Metrics
How to Use
Read individual rule files for detailed explanations and code examples:
rules/rqe-index-creation.md
rules/vector-rag-pattern.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect example with explanation
- Correct example with explanation
- Additional context and references
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md
You Might Also Like
Related Skills

verify
Use when you want to validate changes before committing, or when you need to check all React contribution requirements.
facebook
test
Use when you need to run tests for React core. Supports source, www, stable, and experimental channels.
facebook
feature-flags
Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.
facebook
extract-errors
Use when adding new error messages to React, or seeing "unknown error code" warnings.
facebook