StackExchange.Redis StringSet最大数组大小

时间:2015-04-25 04:21:38

标签: c# arrays redis stackexchange.redis

对于Redis用户和StackExchange.Redis驱动程序用户,我试图通过批量插入来初始化缓存。为此,我尝试使用具有20000 KeyValue数组的StringSet,并且它没有超时。

我的理解是通过使用数组,它正在执行一个MSET命令,它应该比20K SET命令更快。是吗?有没有人遇到过这个问题?我该如何解决?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

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