【发布时间】:2018-02-13 16:32:12
【问题描述】:
我正在使用 redis 来存储一些针对唯一字符串键的 json 值。由于某些要求,我必须在 1 次中获取多个键值对(精确为 15 K),为此我使用 C++ 和 cpp_redis 使用 MGET redis 命令。
系统工作正常,但时间上有些问题。 MGET 很慢,我在 c++ 中观察到大约 200+ 毫秒的延迟,并且它也显示在 SLOWLOG 中。
127.0.0.1:6379> SLOWLOG GET
1) 1) (integer) 893
2) (integer) 1518509153
3) (integer) 167090
4) 1) "MGET"
2) "2be1d3559aa1c93b7b84b144c82c048d"
3) "ac37b25293276382a1eb9fb634bd1ece"
4) "b7257ed986e23dc3bfc630ace592be7c"
5) "e6f92ac1c8c7734d22473d9648863b88"
6) "98b3077022d5a32fbb3df4434ac6a3ed"
7) "00de037007eef73d97e648daa06e5ffb"
8) "60e7fb8be50c543012243cb204cb8694"
9) "6a99e16b15ba6a65801a777cbb19bc3e"
10) "68e1c22474db63f925f2c1fe14f5d2d6"
11) "b12e2cbb1330b1b73d6a0108e5f82062"
12) "cc29fe2f71770848dfc1b8bec955523c"
13) "6e3d9bf3be3b70b38058f0e345a330dd"
14) "a6642a96fae7ccd4fe368dc58bc04bee"
15) "54e04e4d08b69fee6f73adf56d5548ec"
16) "64412a5def4407fe71ba0864898c1c10"
17) "3f2435bfbd23d264b2e2bef22e68b014"
18) "4c70944023f9e6fb6e55fffb9c1f0156"
19) "9dfdb0f0ea8151016f335eaefb5c38a4"
20) "1f9b8a6e35e985e335b5eb223ce170d3"
21) "6e40a2d1e7016a19ea04711f38de793e"
22) "ec8228f23fe0c05caef99dc43c0ec699"
23) "20c1e4239912b7aa6fb4930ee36e49f4"
24) "5d64ed638091eb658d16f5f1cd8575ae"
25) "4176452c864d229b7c4190cea8187717"
26) "b4ece113856f220dc15bfd4b8ed605e8"
27) "e015e9f10e14f31cb5a09525f86d57b1"
28) "360507bac0e7e8bd0d73ed7edf777663"
29) "18b7d6ca197a01c5773d3cbe204fef8d"
30) "0f3d1d8db2c712f11644240a10e885e0"
31) "b9d91378fff3a19544c482233df1268f"
32) "... (14970 more arguments)"
是否有任何最佳实践或特定的事情可以做来加快调用速度。
【问题讨论】: