<>前言

一般来说,查询成为很多应用对外的性能瓶颈,其主要原因在于一旦并发量上来了,应用后台和数据库或者其他的存储服务的IO交互次数增多了,而服务器的线程资源开销是有限的,如何减少IO次数,这是优化要考虑的一个重要问题

使用redis也是如此,试想某些功能的数据使用了缓存,大量的并发请求过来时,是否可以考虑将同类型的数据查询一次性的提交给redis得到查询结果而不是逐个通过get(key)的方式获取更好呢?

下面介绍两种在java中优化查询的方式

1、使用multiget批量查询多个key

新增工具类
@Component public class RedisUtils { @Autowired private RedisTemplate
redisTemplate; public <T> List<T> multiGet(String... keys){ List<String>
searchKeys = Arrays.asList(keys); return
redisTemplate.opsForValue().multiGet(searchKeys); } }
测试:
@Autowired private RedisUtils redisUtils; @Test public void testMultiget() {
Map<String,Object> keys = new HashMap<>(); keys.put("name","张三"); keys.put("ag

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信