Если вы читаете их последовательно, вы можете использовать LPOP или RPOP , который удалит его из списка и вернет.
Если вам нужно прочитать их случайным образом, то, возможно, используйте тип данных SET, а не LIST, тогда вы можете использовать SPOP
UPDATE
Основываясь на нескольких комментариях, которые вы сделали вместе с вашим первоначальным вопросом, похоже, что вы хотите прочитать весь список, а затем удалить его, но вы обеспокоены тем, что элементы вставляются между операциями чтения и удаления?
Если это так, используйте транзакцию redis . Используйте LRange , а затем DEL на клавише. Как вы можете видеть из документов, транзакция гарантирует, что ничто не повлияет на список между двумя операциями, поэтому любые новые дополнения просто приведут к повторному созданию списка.
Все команды в транзакции сериализуются и выполняются
последовательно. Никогда не может случиться так, что запрос, выданный другим
клиент обслуживается в середине исполнения Redis
сделка. Это гарантирует, что команды выполняются как
одиночная изолированная операция.
Или, другими словами, замените свою отделку на удаление, и все готово.