Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thiết lập một giá trị cho trường tương ứng của nó trong giá trị hash được lưu trữ tại một khóa. Để làm điều này, chúng ta sẽ sử dụng các lệnh Redis HSET, HSETNX và HMSET.
Lệnh HSET
Lệnh này dùng để thiết lập giá trị được chỉ định cho trường tương ứng của nó trong hash được lưu trữ tại một khóa được chỉ định. Nếu trường đã tồn tại, giá trị của nó sẽ bị ghi đè. Nếu khóa không tồn tại, một khóa mới chứa giá trị hash sẽ được tạo trước khi thực hiện thao tác set.
Lỗi được trả về nếu khóa tồn tại nhưng giá trị lưu trữ tại khóa không phải là kiểu dữ liệu hash.
Cú pháp:
redis host:port> HSET <tên_khóa> <trường> <giá_trị>
Đầu ra:
- 1 (integer), nếu trường là mới trong hash và giá trị đã được thiết lập. - 0 (integer), nếu trường đã tồn tại trong hash và giá trị đã bị ghi đè. - Lỗi, nếu khóa tồn tại và giá trị lưu trữ tại khóa không phải là hash.
Ví dụ:

Lệnh HSETNX
Lệnh này dùng để thiết lập giá trị được chỉ định cho trường tương ứng của nó trong hash được lưu trữ tại một khóa được chỉ định, chỉ nếu trường không tồn tại trong giá trị hash. Nếu trường đã tồn tại, thao tác này không có tác dụng. Nếu khóa không tồn tại, một khóa mới chứa giá trị hash sẽ được tạo trước khi thực hiện thao tác set.
Lỗi được trả về nếu khóa tồn tại nhưng giá trị lưu trữ tại khóa không phải là kiểu dữ liệu hash.
Cú pháp:
redis host:port> HSETNX <tên_khóa> <trường> <giá_trị>
Đầu ra:
- 1 (integer), nếu trường là mới trong hash và giá trị đã được thiết lập. - 0 (integer), nếu trường đã tồn tại trong hash và không có thao tác nào được thực hiện. - Lỗi, nếu khóa tồn tại và giá trị lưu trữ tại khóa không phải là hash.
Ví dụ:

Lệnh HMSET
Lệnh này dùng để thiết lập các giá trị được chỉ định cho các trường tương ứng của chúng (nhiều cặp field/value) trong hash được lưu trữ tại một khóa được chỉ định. Nếu bất kỳ trường được chỉ định nào đã tồn tại, giá trị của nó sẽ bị ghi đè. Nếu khóa không tồn tại, một khóa mới chứa giá trị hash sẽ được tạo trước khi thực hiện thao tác set.
Lỗi được trả về nếu khóa tồn tại nhưng giá trị lưu trữ tại khóa không phải là kiểu dữ liệu hash.
Cú pháp:
redis host:port> HMSET <tên_khóa> <trường> <giá_trị> [<trường> <giá_trị>...]
Đầu ra:
- (simple string) phản hồi, OK. - Lỗi, nếu khóa tồn tại và giá trị lưu trữ tại khóa không phải là hash.
Ví dụ:

Tài liệu tham khảo:
- Tài liệu lệnh HSET
- Tài liệu lệnh HSETNX
- Tài liệu lệnh HMSET
Trên đây là tất cả về cách thiết lập giá trị cho trường tương ứng trong giá trị hash được lưu trữ trong kho dữ liệu Redis. Nếu bạn thấy hữu ích, hãy chia sẻ suy nghĩ của bạn trong phần bình luận và lan tỏa cho người khác nhé.