redis的pipeline看文档看的比较迷惑,到底是客户端多次发送命令到redis,由redis把命令暂存起来,一次性返回结果,还是客户端把命令暂存起来,然后一次性发送给redis,感觉后面这种方式比较合理,但是文档上的描述又让我觉得是前者那种方式,于是,写了段代码,抓包看了下。
代码:
$redis->multi(\Redis::PIPELINE);
for ($i = 0; $i < 10; $i++) {
$redis->hget("aaa", 'interaction');
sleep(1);//为了明显区分每个请求的数据包
}
$redis->exec();
for ($i = 0; $i < 10; $i++) {
$redis->hget("aaa", 'interaction');
sleep(1);//为了明显区分每个请求的数据包
}
$redis->exec();
抓包:sudo tcpdump -X tcp port 1342
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
14:14:59.600178 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [S], seq 4219721689, win 14100, options [mss 1410,sackOK,TS val 966372413 ecr 0,nop,wscale 7], length 0
0x0000: 4500 003c 7be4 4000 4006 ad95 0a10 8584 E..<{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d7d9 0000 0000 ..w....>........
0x0020: a002 3714 6ed6 0000 0204 0582 0402 080a ..7.n...........
0x0030: 3999 ac3d 0000 0000 0103 0307 9..=........
14:14:59.601258 IP 10.142.119.32.esbroker > liangqi1.abacus.dhrest.com.53906: Flags [S.], seq 2677444732, ack 4219721690, win 14480, options [mss 1460,sackOK,TS val 3548553021 ecr 966372413,nop,wscale 7], length 0
0x0000: 4500 003c 0000 4000 3a06 2f7a 0a8e 7720 E..<..@.:./z..w.
0x0010: 0a10 8584 053e d292 9f96 907c fb83 d7da .....>.....|....
0x0020: a012 3890 ca43 0000 0204 05b4 0402 080a ..8..C..........
0x0030: d382 9f3d 3999 ac3d 0103 0307 ...=9..=....
14:14:59.601279 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [.], ack 1, win 111, options [nop,nop,TS val 966372413 ecr 3548553021], length 0
0x0000: 4500 0034 7be5 4000 4006 ad9c 0a10 8584 E..4{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d7da 9f96 907d ..w....>.......}
0x0020: 8010 006f 3131 0000 0101 080a 3999 ac3d ...o11......9..=
0x0030: d382 9f3d ...=
14:14:59.601686 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [P.], seq 1:38, ack 1, win 111, options [nop,nop,TS val 966372414 ecr 3548553021], length 37
0x0000: 4500 0059 7be6 4000 4006 ad76 0a10 8584 E..Y{.@.@..v....
0x0010: 0a8e 7720 d292 053e fb83 d7da 9f96 907d ..w....>.......}
0x0020: 8018 006f 118e 0000 0101 080a 3999 ac3e ...o........9..>
0x0030: d382 9f3d 2a32 0d0a 2434 0d0a 4155 5448 ...=*2..$4..AUTH
0x0040: 0d0a 2431 360d 0a37 3332 6563 3831 3337 ..$16..732ec8137
0x0050: 3734 3063 3838 610d 0a 740c88a..
14:14:59.602695 IP 10.142.119.32.esbroker > liangqi1.abacus.dhrest.com.53906: Flags [.], ack 38, win 114, options [nop,nop,TS val 3548553022 ecr 966372414], length 0
0x0000: 4500 0034 0f43 4000 3a06 203f 0a8e 7720 E..4.C@.:..?..w.
0x0010: 0a10 8584 053e d292 9f96 907d fb83 d7ff .....>.....}....
0x0020: 8010 0072 3107 0000 0101 080a d382 9f3e ...r1..........>
0x0030: 3999 ac3e 9..>
14:14:59.602708 IP 10.142.119.32.esbroker > liangqi1.abacus.dhrest.com.53906: Flags [P.], seq 1:6, ack 38, win 114, options [nop,nop,TS val 3548553022 ecr 966372414], length 5
0x0000: 4500 0039 0f44 4000 3a06 2039 0a8e 7720 E..9.D@.:..9..w.
0x0010: 0a10 8584 053e d292 9f96 907d fb83 d7ff .....>.....}....
0x0020: 8018 0072 b09d 0000 0101 080a d382 9f3e ...r...........>
0x0030: 3999 ac3e 2b4f 4b0d 0a 9..>+OK..
14:14:59.602713 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [.], ack 6, win 111, options [nop,nop,TS val 966372415 ecr 3548553022], length 0
0x0000: 4500 0034 7be7 4000 4006 ad9a 0a10 8584 E..4{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d7ff 9f96 9082 ..w....>........
0x0020: 8010 006f 3104 0000 0101 080a 3999 ac3f ...o1.......9..?
0x0030: d382 9f3e ...>
14:15:09.605762 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [P.], seq 38:448, ack 6, win 111, options [nop,nop,TS val 966382418 ecr 3548553022], length 410
0x0000: 4500 01ce 7be8 4000 4006 abff 0a10 8584 E...{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d7ff 9f96 9082 ..w....>........
0x0020: 8018 006f 1303 0000 0101 080a 3999 d352 ...o........9..R
0x0030: d382 9f3e 2a33 0d0a 2434 0d0a 4847 4554 ...>*3..$4..HGET
0x0040: 0d0a 2433 0d0a 6161 610d 0a24 3131 0d0a ..$3..aaa..$11..
0x0050: 696e 7465 7261 6374 696f 6e0d 0a2a 330d interaction..*3.
0x0060: 0a24 340d 0a48 4745 540d 0a24 330d 0a61 .$4..HGET..$3..a
0x0070: 6161 0d0a 2431 310d 0a69 6e74 6572 6163 aa..$11..interac
0x0080: 7469 6f6e 0d0a 2a33 0d0a 2434 0d0a 4847 tion..*3..$4..HG
0x0090: 4554 0d0a 2433 0d0a 6161 610d 0a24 3131 ET..$3..aaa..$11
0x00a0: 0d0a 696e 7465 7261 6374 696f 6e0d 0a2a ..interaction..*
0x00b0: 330d 0a24 340d 0a48 4745 540d 0a24 330d 3..$4..HGET..$3.
0x00c0: 0a61 6161 0d0a 2431 310d 0a69 6e74 6572 .aaa..$11..inter
0x00d0: 6163 7469 6f6e 0d0a 2a33 0d0a 2434 0d0a action..*3..$4..
0x00e0: 4847 4554 0d0a 2433 0d0a 6161 610d 0a24 HGET..$3..aaa..$
0x00f0: 3131 0d0a 696e 7465 7261 6374 696f 6e0d 11..interaction.
0x0100: 0a2a 330d 0a24 340d 0a48 4745 540d 0a24 .*3..$4..HGET..$
0x0110: 330d 0a61 6161 0d0a 2431 310d 0a69 6e74 3..aaa..$11..int
0x0120: 6572 6163 7469 6f6e 0d0a 2a33 0d0a 2434 eraction..*3..$4
0x0130: 0d0a 4847 4554 0d0a 2433 0d0a 6161 610d ..HGET..$3..aaa.
0x0140: 0a24 3131 0d0a 696e 7465 7261 6374 696f .$11..interactio
0x0150: 6e0d 0a2a 330d 0a24 340d 0a48 4745 540d n..*3..$4..HGET.
0x0160: 0a24 330d 0a61 6161 0d0a 2431 310d 0a69 .$3..aaa..$11..i
0x0170: 6e74 6572 6163 7469 6f6e 0d0a 2a33 0d0a nteraction..*3..
0x0180: 2434 0d0a 4847 4554 0d0a 2433 0d0a 6161 $4..HGET..$3..aa
0x0190: 610d 0a24 3131 0d0a 696e 7465 7261 6374 a..$11..interact
0x01a0: 696f 6e0d 0a2a 330d 0a24 340d 0a48 4745 ion..*3..$4..HGE
0x01b0: 540d 0a24 330d 0a61 6161 0d0a 2431 310d T..$3..aaa..$11.
0x01c0: 0a69 6e74 6572 6163 7469 6f6e 0d0a .interaction..
14:15:09.606899 IP 10.142.119.32.esbroker > liangqi1.abacus.dhrest.com.53906: Flags [P.], seq 6:56, ack 448, win 122, options [nop,nop,TS val 3548563027 ecr 966382418], length 50
0x0000: 4500 0066 0f45 4000 3a06 200b 0a8e 7720 E..f.E@.:.....w.
0x0010: 0a10 8584 053e d292 9f96 9082 fb83 d999 .....>..........
0x0020: 8018 007a e0fc 0000 0101 080a d382 c653 ...z...........S
0x0030: 3999 d352 242d 310d 0a24 2d31 0d0a 242d 9..R$-1..$-1..$-
0x0040: 310d 0a24 2d31 0d0a 242d 310d 0a24 2d31 1..$-1..$-1..$-1
0x0050: 0d0a 242d 310d 0a24 2d31 0d0a 242d 310d ..$-1..$-1..$-1.
0x0060: 0a24 2d31 0d0a .$-1..
14:15:09.606907 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [.], ack 56, win 111, options [nop,nop,TS val 966382420 ecr 3548563027], length 0
0x0000: 4500 0034 7be9 4000 4006 ad98 0a10 8584 E..4{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d999 9f96 90b4 ..w....>........
0x0020: 8010 006f e10d 0000 0101 080a 3999 d354 ...o........9..T
0x0030: d382 c653 ...S
14:15:09.607239 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [F.], seq 448, ack 56, win 111, options [nop,nop,TS val 966382420 ecr 3548563027], length 0
0x0000: 4500 0034 7bea 4000 4006 ad97 0a10 8584 E..4{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d999 9f96 90b4 ..w....>........
0x0020: 8011 006f e10c 0000 0101 080a 3999 d354 ...o........9..T
0x0030: d382 c653 ...S
14:15:09.608302 IP 10.142.119.32.esbroker > liangqi1.abacus.dhrest.com.53906: Flags [F.], seq 56, ack 449, win 122, options [nop,nop,TS val 3548563028 ecr 966382420], length 0
0x0000: 4500 0034 0f46 4000 3a06 203c 0a8e 7720 E..4.F@.:..<..w.
0x0010: 0a10 8584 053e d292 9f96 90b4 fb83 d99a .....>..........
0x0020: 8011 007a e0ff 0000 0101 080a d382 c654 ...z...........T
0x0030: 3999 d354 9..T
14:15:09.608312 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [.], ack 57, win 111, options [nop,nop,TS val 966382421 ecr 3548563028], length 0
0x0000: 4500 0034 7beb 4000 4006 ad96 0a10 8584 E..4{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d99a 9f96 90b5 ..w....>........
0x0020: 8010 006f e109 0000 0101 080a 3999 d355 ...o........9..U
0x0030: d382 c654 ...T
^C
13 packets captured
13 packets received by filter
0 packets dropped by kernel
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
14:14:59.600178 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [S], seq 4219721689, win 14100, options [mss 1410,sackOK,TS val 966372413 ecr 0,nop,wscale 7], length 0
0x0000: 4500 003c 7be4 4000 4006 ad95 0a10 8584 E..<{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d7d9 0000 0000 ..w....>........
0x0020: a002 3714 6ed6 0000 0204 0582 0402 080a ..7.n...........
0x0030: 3999 ac3d 0000 0000 0103 0307 9..=........
14:14:59.601258 IP 10.142.119.32.esbroker > liangqi1.abacus.dhrest.com.53906: Flags [S.], seq 2677444732, ack 4219721690, win 14480, options [mss 1460,sackOK,TS val 3548553021 ecr 966372413,nop,wscale 7], length 0
0x0000: 4500 003c 0000 4000 3a06 2f7a 0a8e 7720 E..<..@.:./z..w.
0x0010: 0a10 8584 053e d292 9f96 907c fb83 d7da .....>.....|....
0x0020: a012 3890 ca43 0000 0204 05b4 0402 080a ..8..C..........
0x0030: d382 9f3d 3999 ac3d 0103 0307 ...=9..=....
14:14:59.601279 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [.], ack 1, win 111, options [nop,nop,TS val 966372413 ecr 3548553021], length 0
0x0000: 4500 0034 7be5 4000 4006 ad9c 0a10 8584 E..4{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d7da 9f96 907d ..w....>.......}
0x0020: 8010 006f 3131 0000 0101 080a 3999 ac3d ...o11......9..=
0x0030: d382 9f3d ...=
14:14:59.601686 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [P.], seq 1:38, ack 1, win 111, options [nop,nop,TS val 966372414 ecr 3548553021], length 37
0x0000: 4500 0059 7be6 4000 4006 ad76 0a10 8584 E..Y{.@.@..v....
0x0010: 0a8e 7720 d292 053e fb83 d7da 9f96 907d ..w....>.......}
0x0020: 8018 006f 118e 0000 0101 080a 3999 ac3e ...o........9..>
0x0030: d382 9f3d 2a32 0d0a 2434 0d0a 4155 5448 ...=*2..$4..AUTH
0x0040: 0d0a 2431 360d 0a37 3332 6563 3831 3337 ..$16..732ec8137
0x0050: 3734 3063 3838 610d 0a 740c88a..
14:14:59.602695 IP 10.142.119.32.esbroker > liangqi1.abacus.dhrest.com.53906: Flags [.], ack 38, win 114, options [nop,nop,TS val 3548553022 ecr 966372414], length 0
0x0000: 4500 0034 0f43 4000 3a06 203f 0a8e 7720 E..4.C@.:..?..w.
0x0010: 0a10 8584 053e d292 9f96 907d fb83 d7ff .....>.....}....
0x0020: 8010 0072 3107 0000 0101 080a d382 9f3e ...r1..........>
0x0030: 3999 ac3e 9..>
14:14:59.602708 IP 10.142.119.32.esbroker > liangqi1.abacus.dhrest.com.53906: Flags [P.], seq 1:6, ack 38, win 114, options [nop,nop,TS val 3548553022 ecr 966372414], length 5
0x0000: 4500 0039 0f44 4000 3a06 2039 0a8e 7720 E..9.D@.:..9..w.
0x0010: 0a10 8584 053e d292 9f96 907d fb83 d7ff .....>.....}....
0x0020: 8018 0072 b09d 0000 0101 080a d382 9f3e ...r...........>
0x0030: 3999 ac3e 2b4f 4b0d 0a 9..>+OK..
14:14:59.602713 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [.], ack 6, win 111, options [nop,nop,TS val 966372415 ecr 3548553022], length 0
0x0000: 4500 0034 7be7 4000 4006 ad9a 0a10 8584 E..4{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d7ff 9f96 9082 ..w....>........
0x0020: 8010 006f 3104 0000 0101 080a 3999 ac3f ...o1.......9..?
0x0030: d382 9f3e ...>
14:15:09.605762 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [P.], seq 38:448, ack 6, win 111, options [nop,nop,TS val 966382418 ecr 3548553022], length 410
0x0000: 4500 01ce 7be8 4000 4006 abff 0a10 8584 E...{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d7ff 9f96 9082 ..w....>........
0x0020: 8018 006f 1303 0000 0101 080a 3999 d352 ...o........9..R
0x0030: d382 9f3e 2a33 0d0a 2434 0d0a 4847 4554 ...>*3..$4..HGET
0x0040: 0d0a 2433 0d0a 6161 610d 0a24 3131 0d0a ..$3..aaa..$11..
0x0050: 696e 7465 7261 6374 696f 6e0d 0a2a 330d interaction..*3.
0x0060: 0a24 340d 0a48 4745 540d 0a24 330d 0a61 .$4..HGET..$3..a
0x0070: 6161 0d0a 2431 310d 0a69 6e74 6572 6163 aa..$11..interac
0x0080: 7469 6f6e 0d0a 2a33 0d0a 2434 0d0a 4847 tion..*3..$4..HG
0x0090: 4554 0d0a 2433 0d0a 6161 610d 0a24 3131 ET..$3..aaa..$11
0x00a0: 0d0a 696e 7465 7261 6374 696f 6e0d 0a2a ..interaction..*
0x00b0: 330d 0a24 340d 0a48 4745 540d 0a24 330d 3..$4..HGET..$3.
0x00c0: 0a61 6161 0d0a 2431 310d 0a69 6e74 6572 .aaa..$11..inter
0x00d0: 6163 7469 6f6e 0d0a 2a33 0d0a 2434 0d0a action..*3..$4..
0x00e0: 4847 4554 0d0a 2433 0d0a 6161 610d 0a24 HGET..$3..aaa..$
0x00f0: 3131 0d0a 696e 7465 7261 6374 696f 6e0d 11..interaction.
0x0100: 0a2a 330d 0a24 340d 0a48 4745 540d 0a24 .*3..$4..HGET..$
0x0110: 330d 0a61 6161 0d0a 2431 310d 0a69 6e74 3..aaa..$11..int
0x0120: 6572 6163 7469 6f6e 0d0a 2a33 0d0a 2434 eraction..*3..$4
0x0130: 0d0a 4847 4554 0d0a 2433 0d0a 6161 610d ..HGET..$3..aaa.
0x0140: 0a24 3131 0d0a 696e 7465 7261 6374 696f .$11..interactio
0x0150: 6e0d 0a2a 330d 0a24 340d 0a48 4745 540d n..*3..$4..HGET.
0x0160: 0a24 330d 0a61 6161 0d0a 2431 310d 0a69 .$3..aaa..$11..i
0x0170: 6e74 6572 6163 7469 6f6e 0d0a 2a33 0d0a nteraction..*3..
0x0180: 2434 0d0a 4847 4554 0d0a 2433 0d0a 6161 $4..HGET..$3..aa
0x0190: 610d 0a24 3131 0d0a 696e 7465 7261 6374 a..$11..interact
0x01a0: 696f 6e0d 0a2a 330d 0a24 340d 0a48 4745 ion..*3..$4..HGE
0x01b0: 540d 0a24 330d 0a61 6161 0d0a 2431 310d T..$3..aaa..$11.
0x01c0: 0a69 6e74 6572 6163 7469 6f6e 0d0a .interaction..
14:15:09.606899 IP 10.142.119.32.esbroker > liangqi1.abacus.dhrest.com.53906: Flags [P.], seq 6:56, ack 448, win 122, options [nop,nop,TS val 3548563027 ecr 966382418], length 50
0x0000: 4500 0066 0f45 4000 3a06 200b 0a8e 7720 E..f.E@.:.....w.
0x0010: 0a10 8584 053e d292 9f96 9082 fb83 d999 .....>..........
0x0020: 8018 007a e0fc 0000 0101 080a d382 c653 ...z...........S
0x0030: 3999 d352 242d 310d 0a24 2d31 0d0a 242d 9..R$-1..$-1..$-
0x0040: 310d 0a24 2d31 0d0a 242d 310d 0a24 2d31 1..$-1..$-1..$-1
0x0050: 0d0a 242d 310d 0a24 2d31 0d0a 242d 310d ..$-1..$-1..$-1.
0x0060: 0a24 2d31 0d0a .$-1..
14:15:09.606907 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [.], ack 56, win 111, options [nop,nop,TS val 966382420 ecr 3548563027], length 0
0x0000: 4500 0034 7be9 4000 4006 ad98 0a10 8584 E..4{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d999 9f96 90b4 ..w....>........
0x0020: 8010 006f e10d 0000 0101 080a 3999 d354 ...o........9..T
0x0030: d382 c653 ...S
14:15:09.607239 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [F.], seq 448, ack 56, win 111, options [nop,nop,TS val 966382420 ecr 3548563027], length 0
0x0000: 4500 0034 7bea 4000 4006 ad97 0a10 8584 E..4{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d999 9f96 90b4 ..w....>........
0x0020: 8011 006f e10c 0000 0101 080a 3999 d354 ...o........9..T
0x0030: d382 c653 ...S
14:15:09.608302 IP 10.142.119.32.esbroker > liangqi1.abacus.dhrest.com.53906: Flags [F.], seq 56, ack 449, win 122, options [nop,nop,TS val 3548563028 ecr 966382420], length 0
0x0000: 4500 0034 0f46 4000 3a06 203c 0a8e 7720 E..4.F@.:..<..w.
0x0010: 0a10 8584 053e d292 9f96 90b4 fb83 d99a .....>..........
0x0020: 8011 007a e0ff 0000 0101 080a d382 c654 ...z...........T
0x0030: 3999 d354 9..T
14:15:09.608312 IP liangqi1.abacus.dhrest.com.53906 > 10.142.119.32.esbroker: Flags [.], ack 57, win 111, options [nop,nop,TS val 966382421 ecr 3548563028], length 0
0x0000: 4500 0034 7beb 4000 4006 ad96 0a10 8584 E..4{.@.@.......
0x0010: 0a8e 7720 d292 053e fb83 d99a 9f96 90b5 ..w....>........
0x0020: 8010 006f e109 0000 0101 080a 3999 d355 ...o........9..U
0x0030: d382 c654 ...T
^C
13 packets captured
13 packets received by filter
0 packets dropped by kernel
虽然是16进制的,但是还是能看出来客户端并没有一个hget命令就发送一次命令,而是在客户端建立连接10秒后在exec的时候在第8个包里面一次性发送给redis的。而且没有multi和exec命令
转载请注明:小Y » redis的pipeline