Tất cả các câu hỏi của bạn đều được giải đáp tại EVAL
nhưng vì bạn đã hỏi ...:
Sự khác biệt là gì?
KEYS
được sử dụng để chuyển các tên khóa trong khi ARGS
nên dành cho bất cứ thứ gì khác. Điều này không được thực thi chính xác (tức là hầu hết các trường hợp bạn có thể trộn chúng) nhưng có thể dẫn đến các vấn đề tiềm ẩn nếu không tuân theo.
Redis xử lý các giá trị trong mảng KEYS như thế nào?
Nội dung của KEYS
được chọn để xác minh rằng tất cả các khóa đều có sẵn cho phân đoạn Redis đang chạy tập lệnh. Cơ chế này có sẵn để cho phép chạy các tập lệnh trong triển khai cụm Redis.
Điều gì sẽ xảy ra nếu, trong tập lệnh của tôi, tôi phải sử dụng các khóa được tạo động tại thời điểm chạy?
Xem các câu trả lời trước - điều đó có thể làm được nhưng bạn sẽ đi ngược lại các đề xuất. Tập lệnh của bạn sẽ an toàn khi chỉ chạy trên một phiên bản Redis độc lập và vì hành vi này không được chỉ định nên nó có thể bị hỏng trong các bản phát hành trong tương lai.