redis是使用jedis获取多个密钥的最佳方式

hfwmuf9z  于 2021-06-07  发布在  Redis
关注(0)|答案(0)|浏览(166)

我有一个需要从aws弹性缓存(redis)中获取所有密钥的用例,我想过使用multiget来避免网络调用,但是与发送并行请求相比,下面的细节是花费更多的时间
我用的是springboot+绝地,我在redis有5000把钥匙

redisTemplate.opsForValue().get(key))
 // taking 100 ms 

return redisTemplate.opsForValue().multiGet(keys);
// All 5000 , taking around 24 second

批处理到500个,并使用spring asyc任务并行发送,10个线程大约需要5秒

return redisTemplate.opsForValue().multiGet(batchedkeys);

因此,我无法理解获取所有密钥的最佳方法是什么,因为我在这里读到redis有单个工作线程和多个i/o线程。因此,由于减少了网络调用,与使用单个密钥的多个请求相比,使用多个密钥的单个请求的响应时间总体上应该更短。如果我的假设是错误的,请纠正我

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题