我想通过在我的应用程序中使用hmget来从redis中获取多个值,一次大约1000+值。但我担心这会导致一些性能问题。有没有人试过这个呢?
答案 0 :(得分:2)
真的应该不是问题,因为它是O(N),其中N是被请求的字段数。所以在你的情况下它是O(1000 +),网络上没有往返,当然都在RAM中。
如果你担心它可能太多(但我怀疑它,如果你真的需要测试它)或者你的数据可能会增长到意想不到的大小(这真的是值得害怕),你应该考虑运行更小的查询具有固定大小的哈希值,例如将字段值1000除以1000,直到您全部读取它们为止。
只是没有达到redis任务的超时限制(如果是你的查询失败的情况)并且允许redis更好地分配负载(它是单线程的,因此没有其他查询可以同时运行)