Trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách xóa và trả về phần tử đầu tiên của giá trị danh sách được lưu trữ tại một khóa trong kho dữ liệu redis. Đối với điều này, chúng tôi sẽ sử dụng redis LPOP và BLPOP lệnh.
Lệnh LPOP
Lệnh này được sử dụng để loại bỏ và trả về phần tử đầu tiên của giá trị danh sách được lưu trữ tại khóa được chỉ định. Nil được trả về, nếu khóa không tồn tại và trả về lỗi, nếu khóa tồn tại nhưng giá trị được lưu trữ tại khóa không thuộc kiểu dữ liệu danh sách. Cú pháp của lệnh Redis LPOP như sau:-
Cú pháp:-
redis host:post> LPOP
Đầu ra:-
Trả lời- (string), đại diện cho phần tử đầu tiên của danh sách. - (nil), nếu khóa không tồn tại. - Lỗi, nếu khóa tồn tại và giá trị được lưu trữ trong khóa không phải là danh sách.
Ví dụ:-
Lệnh BLPOP
Lệnh này là một phiên bản chặn của lệnh LPOP vì nó chặn hoạt động khi không có phần tử nào để bật ra từ bất kỳ danh sách được chỉ định nào. Nói cách khác, nó chặn hoạt động khi tất cả các danh sách được chỉ định đều trống hoặc tất cả các khóa được chỉ định không tồn tại.
Nó loại bỏ và trả về phần tử đầu tiên của một giá trị danh sách không trống, với các khóa được chỉ định được kiểm tra từ trái sang phải. Vì vậy, ví dụ:nếu lệnh BLPOP list1 list2 list3 0 được thực thi, trong đó khóa list1 không tồn tại (coi như một danh sách trống), list2 là một danh sách trống và list3 chứa ba phần tử, sau đó nó xóa và trả về phần tử đầu tiên của giá trị danh sách được lưu trữ tại list3 vì nó là danh sách không trống đầu tiên, khi kiểm tra từ danh sách1 đến danh sách3.
Nếu khóa được chỉ định không tồn tại hoặc giá trị danh sách của khóa được chỉ định trống, BLPOP sẽ chặn hoạt động cho đến khi một ứng dụng khách khác thực thi lệnh như LPUSH, RPUSH và LINSERT để chèn một phần tử vào một trong các khóa được chỉ định. Khi phần tử mới xuất hiện trên một trong các giá trị danh sách, ứng dụng khách sẽ trả về với tên của khóa mở khóa và giá trị được bật lên.
Khi BLPOP khiến ứng dụng khách bị chặn và thời gian chờ khác 0 được chỉ định, ứng dụng khách sẽ bỏ chặn giá trị nil trả về khi thời gian chờ được chỉ định đã hết hạn mà không cần thực hiện thao tác chèn đối với ít nhất một trong các khóa được chỉ định.
Đối số thời gian chờ là một giá trị số nguyên đại diện cho số giây tối đa để chặn. Thời gian chờ 0 giây có thể được sử dụng để chặn vô thời hạn.
Cú pháp của lệnh Redis BLPOP như sau:-
Cú pháp:-
redis host:post> BLPOP[ ]
Đầu ra:-
Trả lời- (mảng), hai phần tử được trả về trong đó phần tử đầu tiên là tên của khóa phần tử được bật lên và phần tử thứ hai là chính phần tử được bật lên.- (nil), khi không có phần tử nào có thể được bật lên và hết thời gian chờ.Ví dụ:-
Tài liệu tham khảo:-
- Tài liệu lệnh LPOP
- Tài liệu lệnh BLPOP
Đó là tất cả về cách xóa và trả về phần tử đầu tiên của giá trị danh sách được lưu trữ trong kho dữ liệu redis. Nếu bạn thích nó, hãy chia sẻ suy nghĩ của bạn trong phần bình luận và chia sẻ nó với những người khác.
<- Liệt kê các lệnh