Đây có thể là một phản hồi muộn nhưng tôi sẽ gắn nó ở đây để đề phòng trường hợp ai đó vẫn cần chức năng đó.
Câu trả lời ngắn
ltrim mylist 0 - (n + 1) trong đó mylist là khóa và n là độ dài của mylist.
Câu trả lời dài
Cách hoạt động của ltrim là, nó lấy hai chỉ số và trả về các phần tử nằm giữa chúng bao gồm cả các chỉ số.
Danh sách Ltrim startIndex endIndex
Ví dụ giả sử chúng ta có một danh sách redis với key mylist chứa 10 mục:
ltrim mylist 0 5 sẽ cắt danh sách thành các phần tử bắt đầu từ chỉ mục 0 đến chỉ mục 5. Và loại bỏ những phần tử nằm ngoài phạm vi đó.
May mắn thay, hoạt động danh sách redis hỗ trợ lập chỉ mục tiêu cực, điều này tỏ ra cực kỳ hữu ích trong một số tình huống. Điển hình là khi bạn không biết độ dài của danh sách.
-1 đề cập đến phần tử cuối cùng, - 2 phần tử áp chót, v.v. Và (-n) là phần tử đầu tiên.
Các chỉ mục ngoài phạm vi không có hại. Nếu chỉ mục cuối lớn hơn độ dài của danh sách, redis coi nó bằng chỉ mục cuối cùng.
Đây là lý do tại sao ltrim mylist 0, - (n +1) xóa danh sách. Nó làm như vậy vì (-n) tương đương với chỉ số 0. Việc thêm 1 vào nó sẽ không để lại phần tử nào trong phạm vi đó vì nó sẽ nằm trước phần tử đầu tiên.