내가 레디 스를 배우고 내가 파이프 라인의 개념을 차단하고 응답, 나는레디 스 파이프 라인 (200 개)의 지시 만 189
것은 내가 whitch에 연결 소켓을 사용하려면 어떻게 내 레디 스 서버에 명령을 보내려고하고있다 내가 사용하는 redis 서버.
여기 내 코드 (I 프랑스어입니다 그래서 일부 단어는 프랑스어에있을 것입니다)
def send(MESSAGE):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(MESSAGE)
data = s.recv(BUFFER_SIZE)
s.close()
print "Envoi requete PC:", MESSAGE
return data
입니다 그리고 여기가 파이프 라인을 사용하고있는 방법입니다
instruction ='SET compteur 0'
donnee = instruction.encode('utf-8') + '\x0D\x0A'
print envoie(donnee)
instruction=''
for i in range(200):
instruction = instruction + 'INCR compteur\r\n'
donnee = instruction.encode('utf-8') + '\x0D\x0A'
print send(donnee)
나는 이렇게, 셸이 200 INCR compteur를 제공하지만 그 뒤에는 다음과 같이 표시됩니다 :
:1
:2
:3
:4
....
:185
:186
:187
:188
:189
누군가 설명이 있습니까? 또한 예를 들어 GET compteur와 같은 다른 명령어를 사용하는 경우에는 147 + PONG 만 있습니다
소켓을 손으로 정의하는 대신 파이썬에 redis 어댑터를 사용하지 않는 이유는 무엇입니까? 다른 사람들이 제안한 것처럼, 소켓에서 읽기를 처리하는 것은 그리 간단하지 않습니다. https : // github.com/andymccurdy/redis-py –
redis adaptor를 사용할 수 없습니다.이 코드는 redis와 함께 제공되지 않는 PLC에 구현 될 것이므로, 파이썬 만 갖기 때문에 그렇게해야합니다. 그러나 감사합니다. 조언 –