Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Redis

Thành thạo Redis SDIFF và SDIFFSTORE: Tính hiệu Set hiệu quả

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thực hiện phép hiệu (difference) trên hai hoặc nhiều giá trị set được lưu trữ trong kho dữ liệu redis, bằng cách sử dụng lệnh redis SDIFF và SDIFFSTORE.

Hiệu của các tập hợp (Sets):

Trong lý thuyết tập hợp, hiệu của hai tập hợp A và B, viết là A - B là tập hợp chứa tất cả các phần tử của tập hợp A mà không có trong tập hợp B. Ví dụ:

A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8, 9}
Hiệu của A & B :- A - B = {1, 2, 3}

Thành thạo Redis SDIFF và SDIFFSTORE: Tính hiệu Set hiệu quả

Lệnh SDIFF :-

Lệnh này thực hiện phép hiệu trên hai hoặc nhiều tập hợp được chỉ định và trả về kết quả dưới dạng mảng. Nếu bất kỳ khóa được chỉ định nào không tồn tại, nó sẽ được coi là tập hợp rỗng. Lỗi sẽ đượ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à set. Cú pháp của lệnh redis SDIFF như sau :-

Cú pháp :-

redis host:port> SDIFF <keyName 1> <keyName 2> <keyName 3>

Đầu ra :-

- (array) reply, chứa các phần tử kết quả từ phép hiệu.
- Error, nếu khóa tồn tại và giá trị lưu trữ tại khóa không phải là set.

Ví dụ :-

Thành thạo Redis SDIFF và SDIFFSTORE: Tính hiệu Set hiệu quả

Lệnh SDIFFSTORE :-

Lệnh này thực hiện phép hiệu trên hai hoặc nhiều tập hợp được chỉ định và trả về một giá trị set mới được lưu trữ tại khóa đích được chỉ định. Nếu bất kỳ khóa được chỉ định nào không tồn tại, nó sẽ được coi là tập hợp rỗng. Lỗi sẽ đượ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à set. Cú pháp của lệnh redis SDIFFSTORE như sau :-

Cú pháp :-

redis host:port> SDIFFSTORE <destination keyName> <keyName 1> <keyName 2> <keyName 3>

Đầu ra :-

- (integer) đại diện cho số phần tử trong tập hợp đích.
- Error, nếu khóa tồn tại và giá trị lưu trữ tại khóa không phải là set.

Ví dụ :-

Thành thạo Redis SDIFF và SDIFFSTORE: Tính hiệu Set hiệu quả

Tham khảo :-

  1. SDIFF Command Docs
  2. SDIFFSTORE Command Docs

Đó là tất cả về cách thực hiện phép hiệu trên hai hoặc nhiều giá trị set được lưu trữ trong kho dữ liệu redis. Nếu bạn thích, hãy chia sẻ suy nghĩ trong phần bình luận và chia sẻ với người khác.