Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用大型查询提高应用程序性能_Java_Mysql_Grails_Redis_Memcached - Fatal编程技术网

Java 使用大型查询提高应用程序性能

Java 使用大型查询提高应用程序性能,java,mysql,grails,redis,memcached,Java,Mysql,Grails,Redis,Memcached,最近,我正在研究使用缓存来提高网站性能,并考虑在我的应用程序中实现它 我有一个场景,我正在执行一个大型查询,根据订单状态和客户/供应商获取订单列表。用户可以在运行时选择其他筛选器。查询也很复杂,表之间有很多连接 我们是否可以实现缓存memcached/Redis来提高这方面的性能,方法是在创建订单时将订单对象存储在缓存中,订单id作为键,订单对象作为值,并编写一些逻辑来获取列表或应用运行时过滤器的订单,还是需要运行查询本身来获取订单 还有一些简单的查询,如按orderNumber获取orders

最近,我正在研究使用缓存来提高网站性能,并考虑在我的应用程序中实现它

我有一个场景,我正在执行一个大型查询,根据订单状态和客户/供应商获取订单列表。用户可以在运行时选择其他筛选器。查询也很复杂,表之间有很多连接

我们是否可以实现缓存memcached/Redis来提高这方面的性能,方法是在创建订单时将订单对象存储在缓存中,订单id作为键,订单对象作为值,并编写一些逻辑来获取列表或应用运行时过滤器的订单,还是需要运行查询本身来获取订单

还有一些简单的查询,如按orderNumber获取orders对象。我们可以缓存这些以避免数据库查询吗

请让我知道任何可能的解决方案,以提高网站性能


提前感谢:

在使用外部内存数据存储之前,也许您可以尝试一个内部的一个JVM,就像旧的ehcache一样,它在SQL查询与Hibernate集成的基本情况下做得很好?我的应用程序是一个grails应用程序,所以我集成了Hibernate,但是由于数据输出非常大,并且来自不同的域对象,所以我使用冬眠否则,我需要遍历所有对象并将值映射到输出中所需的键。可能遍历hibernate对象似乎比实现外部缓存更有效,但作为键/值对接收的动态筛选器可能会导致获取列表结果时出现问题。