redis-core

bởi redis

Hướng dẫn mô hình hóa Redis cốt lõi — chọn cấu trúc dữ liệu phù hợp (String, Hash, List, Set, Sorted Set, JSON, Stream, Vector Set) và sử dụng nhất quán…

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

Thêm skills từ redis

docs-sync
redis
Phân tích triển khai và cấu hình của nhánh master để tìm tài liệu bị thiếu, sai hoặc lỗi thời trong docs/, README.md và các README theo từng gói. Sử dụng…
redis-query-engine
redis
Hướng dẫn về Redis Query Engine (RQE) bao gồm thiết kế schema FT.CREATE, lựa chọn kiểu trường (TEXT, TAG, NUMERIC, GEO, GEOSHAPE, VECTOR), cú pháp truy vấn DIALECT 2,…
redis-search
redis
Hướng dẫn Redis Search bao gồm thiết kế schema FT.CREATE, lựa chọn loại trường (TEXT, TAG, NUMERIC, GEO, GEOSHAPE, VECTOR, đường dẫn JSON), cú pháp truy vấn DIALECT 2,…
redis-security
redis
Hướng dẫn bảo mật Redis bao gồm xác thực (requirepass và người dùng ACL), TLS, kiểm soát truy cập dựa trên nguyên tắc đặc quyền tối thiểu qua ACL, hạn chế phơi nhiễm mạng qua…
redis-semantic-cache
redis
Hướng dẫn Redis LangCache về bộ nhớ đệm ngữ nghĩa cho phản hồi LLM trên Redis Cloud — gọi search/set qua SDK hoặc REST API, điều chỉnh ngưỡng tương đồng,…
redis-vector-search
redis
Hướng dẫn tìm kiếm vector Redis bao gồm lựa chọn thuật toán HNSW so với FLAT, cấu hình chỉ mục vector (số chiều, độ đo khoảng cách, kiểu dữ liệu), tìm kiếm kết hợp có bộ lọc…
bump-test-image
redis
Cập nhật image docker test Redis mặc định (redislabs/client-libs-test) trong DEFAULT_DOCKER_CONFIG dùng chung và ma trận CI, sau đó force-push…
i18n
redis
Quy ước quốc tế hóa cho giao diện RedisInsight (i18next). Sử dụng khi thêm hoặc thay đổi chuỗi hướng đến người dùng trong redisinsight/ui/**, chỉnh sửa…