StackExchange.Redis StringSet 最大数组大小

StackExchange.Redis StringSet Maximum Array Size

对于 Redis 用户和 StackExchange.Redis 驱动程序用户,我正在尝试通过批量插入来初始化缓存。为此,我尝试使用一个包含 20000 个 KeyValue 数组的 StringSet,但它未能超时。

我的理解是通过使用数组,它执行的 MSET 命令应该比 20K SET 命令快。是吗?有人 运行 关注过这个问题吗?我该如何解决?

感谢您的帮助。

多个 SET 和 MSET 之间的区别并没有你想象的那么大——每个项目带宽大约 10 个字节,如果你使用流水线(甚至可能是 FireAndForget 命令选项):零延迟。但是您也可以轻松地切换到(比如说)100 个项目的批次:同样,这将有大约 10 个字节的额外开销 每批次 ,这没什么 - 这些批次可以 如果你愿意,可以使用流水线。在任何一种流水线的情况下,SE.Redis 都会做一些工作来最小化数据包碎片等。基本上,我在这里要做的改变是:不要发送大量的批次。发送多个较小的批次。一个巨大的批次不会给你你想象的好处。