Це може бути пізньою реакцією, але я наклеюю її тут на випадок, якщо комусь все-таки потрібна ця функціональність.
Коротка відповідь
ltrim mylist 0 - (n + 1), де mylist є ключовим, а n - довжиною mylist.
Довга відповідь
Спосіб роботи ltrim полягає в тому, що він приймає два індекси і повертає елементи, що потрапляють між ними, включаючи індекси.
Список Ltrim startIndex endIndex
Приклад, якщо припустити, що у нас є список повторного вибору з ключовим списком, що містить 10 записів:
ltrim mylist 0 5 обробить список елементами, починаючи від індексу 0 до індексу 5. І відкидає ті, які не входять до цього діапазону.
На щастя, операції зі списками redis підтримують негативне індексування, що виявляється надзвичайно корисним у деяких ситуаціях. Зазвичай, коли ви не знаєте довжини списку.
-1 відноситься до останнього елемента, - 2 передостаннього елемента і т. Д. І (-n) - перший елемент.
Індекси поза діапазоном не є шкідливими. Якщо кінцевий індекс перевищує довжину списку, redis розглядає його як рівний останньому індексу.
Ось чому ltrim mylist 0, - (n +1) очистити список. Це робиться тому, що (-n) еквівалентно індексу 0. Додавання 1 до нього не залишає жодного елемента в цьому діапазоні, оскільки це буде перед першим елементом.