Quay lại thư viện câu hỏi
redis Junior

Trong Redis, cấu trúc dữ liệu String khác gì so với Hash và khi nào lập trình viên nên chọn Hash thay vì String?

Phân biệt String và Hash trong Redis

1. Redis String

  • Định nghĩa: Là cấu trúc dữ liệu cơ bản nhất trong Redis, lưu trữ một chuỗi dữ liệu nhị phân an toàn (binary-safe), có thể chứa văn bản, số nguyên, số thực hoặc hình ảnh (tối đa 512MB).
  • Trường hợp sử dụng: Thường dùng để lưu trữ các giá trị đơn lẻ như token xác thực, bộ đếm lượt truy cập, hoặc cấu hình dạng thô.

2. Redis Hash

  • Định nghĩa: Là tập hợp các cặp trường và giá trị (field-value pairs) nằm trong một key duy nhất. Ví dụ, một Hash đại diện cho một người dùng có thể chứa các trường như name, age, email.
  • Trường hợp sử dụng: Rất phù hợp để đại diện cho các đối tượng (objects) có nhiều thuộc tính.

Khi nào nên chọn Hash thay vì String?

  • Tiết kiệm bộ nhớ: Khi lưu trữ một đối tượng có nhiều thuộc tính (ví dụ thông tin người dùng: id, username, status), nếu dùng String, bạn có thể phải tạo nhiều key (user:1:name, user:1:email) hoặc serialize toàn bộ đối tượng thành một chuỗi JSON. Việc tạo nhiều key sẽ tốn kém chi phí bộ nhớ phụ cho cấu trúc quản lý key của Redis. Sử dụng Hash giúp gom nhóm các thuộc tính vào một key duy nhất, tối ưu hóa đáng kể dung lượng RAM.
  • Cập nhật một phần tử dễ dàng: Hash cho phép bạn đọc hoặc ghi một field cụ thể (ví dụ dùng lệnh HGET hoặc HSET) mà không cần phải đọc và giải mã (deserialize) toàn bộ đối tượng như khi lưu dưới dạng chuỗi JSON.

Ví dụ thực tế

Thay vì lưu JSON string: SET user:1000 '{"name":"Nguyen Van A","age":25}' Bạn nên dùng Hash: HSET user:1000 name "Nguyen Van A" age 25

Luyện tập câu hỏi này trong chế độ đếm ngược mô phỏng phỏng vấn thật:
Phòng Luyện Tập
Khóa học Chuyên sâu Chủ đề redis

Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp

Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.

Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)

Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.

High-Ticket Mentoring
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?

Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.

AI Resume Scanner
Kiểm Tra CV Chuẩn ATS Miễn Phí

Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học