Бих казал, че сте на пътя на преждевременната оптимизация (която обикновено не е най-добрата).
Всеки скриптов език с Redis клиент, поддържащ конвейер, трябва да може да изпраща поне 50K команди/сек до сървъра на Redis. Кодът ще бъде ясен, без да е необходимо ръчно да кодирате протокола Redis. Разбира се, трикът с масивно вмъкване е по-бърз, но наистина ли се нуждаете от него?
Сега, ако все пак искате да се придържате към масивно вмъкване, трябва да кодирате правилна команда на Redis. Примерът, който сте предоставили, е грешен по няколко причини:
-
броят на аргументите е грешен (вашият пример трябва да започва с *3)
-
дължината на последния аргумент е грешна (дължината 1,2,34 е 6 байта, а не 5).
-
в командата SADD се нуждаете от един аргумент за елемент от набора (т.е. за Redis 1,2,34 ще бъде един елемент, а не три).
Правилната команда по-скоро би била нещо подобно:
"*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"
Протоколът Redis е описан тук:http://redis.io/topics/protocol