यहाँ यह है:
echo -n '*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | ./redis-cli --pipe
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 1
आपकी समस्या शायद सीआर + एलएफ विभाजक से आती है। इस बिंदु को जांचने के लिए आप hexdump -C कमांड का उपयोग कर सकते हैं:
echo -n '*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | hexdump -C
00000000 2a 33 0d 0a 24 33 0d 0a 73 65 74 0d 0a 24 33 0d |*3..$3..set..$3.|
00000010 0a 6b 65 79 0a 0d 24 35 0d 0a 76 61 6c 75 65 0d |.key..$5..value.|
00000020 0a |.|
00000021
साथ ही, आप यह जांचना चाहेंगे कि आपका लक्ष्य हाल ही का Redis उदाहरण है न कि पूर्व-1-2 संस्करण (जो "एकीकृत प्रोटोकॉल" का समर्थन नहीं करता है)।
नोट: उपरोक्त पंक्तियाँ zsh के साथ ठीक काम करती हैं। यदि आप बैश का उपयोग करते हैं, तो आपको एएनएसआई-सी उद्धरण को ट्रिगर करने के लिए उद्धरण से पहले एक $ जोड़ना होगा:
echo -n $'*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | hexdump -C