Redis là gì
Kho dữ liệu trong bộ nhớ
Redis là kho dữ liệu trong bộ nhớ mã nguồn mở hiệu suất cao được sử dụng như cơ sở dữ liệu, bộ nhớ đệm và trung gian tin nhắn.
Cấu trúc Dữ liệu
- Strings — chuỗi và số đơn giản
- Lists — danh sách liên kết
- Sets — phần tử duy nhất không có thứ tự
- Sorted Sets — tập hợp có thứ tự với điểm số
- Hashes — từ điển khóa-giá trị
- Streams — luồng sự kiện (nhật ký sự kiện)
Tính năng Chính
- Tốc độ: 100,000+ thao tác mỗi giây
- Bền vững: RDB snapshots và AOF logs
- Sao chép: master-slave, Redis Sentinel
- Phân cụm: Redis Cluster (sharding)
- Pub/Sub: xuất bản và đăng ký tin nhắn
- Lua scripts: giao dịch nguyên tử
Trường hợp Sử dụng
- Caching — phiên, phản hồi API, kết quả truy vấn
- Hàng đợi tác vụ — xử lý nền, job queues
- Rate Limiting — giới hạn yêu cầu API
- Bảng xếp hạng — xếp hạng và top
- Phân tích thời gian thực — bộ đếm, metrics
- Định vị địa lý — tìm kiếm dựa trên tọa độ
Lệnh
- SET/GET — làm việc với chuỗi
- LPUSH/RPOP — hàng đợi
- SADD/SMEMBERS — tập hợp
- ZADD/ZRANGE — tập hợp được sắp xếp
- HSET/HGET — hash