java - 分布式 Web 应用程序中的缓存 - 复杂查询用例

标签 java mysql sql spring caching

我们正在开发一个分布式 Web 应用程序(3 个带有负载均衡器的 tomcat)。

目前我们正在寻找缓存解决方案。当然,这个解决方案应该是集群安全的。 我们使用的是spring、jpa(mysql)

我们考虑了以下解决方案:

创建一个运行简单缓存的缓存服务器,每个 tomcat 的所有数据库操作都将委托(delegate)给它。 (Web 应用程序中的 dao 层将与该服务器通信,而不是访问数据库本身)。这很有吸引力,因为缓存服务器配置上的缓存可以是最小的。

我们现在想知道的是:

如果将复杂查询传递到缓存服务器(即使用多个联接和 where 子句进行选择),标准缓存形式(映射)究竟如何处理这个问题?这是否意味着我们必须单独为每个复杂查询实现查找并将其调整为 map 搜索而不是数据库?

P.S - 该架构的基础可能存在缺陷,因此提出了这样一个奇怪的问题,如果是这种情况,请提出替代方案。

最好,

最佳答案

mySql 已经带有查询缓存,请参阅 http://dev.mysql.com/doc/refman/5.1/en/query-cache-operation.html

关于java - 分布式 Web 应用程序中的缓存 - 复杂查询用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21552997/

相关文章:

mysql查询引用三个表

php - 使用 php 和 mysql 将数据插入表的正确方法?

SQL Anywhere 11 - 表大小

java - Swagger API 通过 json 验证使用 json

java - Java 中的 XML 验证 - 为什么会失败?

mysql - 如何在docker中运行wordpress和mysql解决 "Error establishing a database connection"

php - 嵌套子查询中的 MySQL 变量

c# - EntityFramework (.NET Core) 多个条件左外连接

java - 为什么这是一个无法访问的语句?

java - 问题 - java.lang.ClassNotFoundException : org. springframework.web.servlet.DispatcherServlet