我學習Redis的,我封閉的流水線概念,我試圖發送指令到我的Redis服務器Redis的流水線200次的指令發送,只有189回答
做對,所以我使用套接字whitch將連接到我正在使用的redis服務器。
這裏是我的代碼(我是法語,所以有些話會法語)
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
有人有解釋嗎?只有147 + PONG
你爲什麼不使用Redis的適配器,而不是蟒蛇手工定義插座? https://開頭github上。com/andymccurdy/redis-py –
我不能使用redis adaptator,因爲這個代碼將在一個不會提供redis的PLC上實現,它只會有python,所以我必須這樣做,但是謝謝建議 –