Tôi có thể nói rằng bạn đang trên con đường tối ưu hóa quá sớm (thường không phải là cách tốt nhất).
Bất kỳ ngôn ngữ kịch bản nào có ứng dụng Redis hỗ trợ pipelining sẽ có thể đẩy ít nhất 50K lệnh / s đến máy chủ Redis. Mã sẽ đơn giản, không cần mã hóa thủ công giao thức Redis. Được, thủ thuật chèn lớn nhanh hơn, nhưng bạn có thực sự cần nó không?
Bây giờ, nếu bạn vẫn muốn tiếp tục chèn nhiều, bạn cần mã hóa một lệnh Redis thích hợp. Ví dụ bạn cung cấp sai vì một số lý do:
-
số lượng đối số sai (ví dụ của bạn phải bắt đầu bằng * 3)
-
độ dài của đối số cuối cùng là sai (độ dài 1,2,34 là 6 byte chứ không phải 5).
-
trong lệnh SADD, bạn cần một đối số cho mỗi mục của tập hợp (nghĩa là đối với Redis 1,2,34 sẽ là một mục duy nhất, không phải ba).
Lệnh thích hợp sẽ giống như sau:
"*5\r\n$4\r\nSADD\r\n$2\r\n80\r\n$1\r\n1\r\n$1\r\n2\r\n$2\r\n34\r\n"
Giao thức Redis được mô tả tại đây:http://redis.io/topics/protocol