मैं कहूंगा कि आप समयपूर्व अनुकूलन के रास्ते पर हैं (जो आमतौर पर सबसे अच्छा नहीं है)।
रेडिस क्लाइंट के साथ पाइपलाइनिंग का समर्थन करने वाली कोई भी स्क्रिप्टिंग भाषा रेडिस सर्वर पर कम से कम 50K कमांड / एस को पुश करने में सक्षम होनी चाहिए। कोड सीधा होगा, जिसमें रेडिस प्रोटोकॉल को मैन्युअल रूप से एन्कोड करने की आवश्यकता नहीं होगी। दी, बड़े पैमाने पर डालने की चाल तेज़ है, लेकिन क्या आपको वाकई इसकी ज़रूरत है?
अब, यदि आप अभी भी बड़े पैमाने पर सम्मिलित करना चाहते हैं, तो आपको उचित रेडिस कमांड को एन्कोड करने की आवश्यकता है। आपके द्वारा प्रदान किया गया उदाहरण कई कारणों से गलत है:
-
तर्कों की संख्या गलत है (आपका उदाहरण *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"
रेडिस प्रोटोकॉल का वर्णन यहां किया गया है:http://redis.io/topics/protocol