java - 缓存数据库查询和结果集

标签 java mysql caching

我正在创建一个 Java 桌面应用程序。

我正在使用 mysql 数据库作为后端。

在我的应用程序中,一些查询被执行了不止一次,所以我想缓存查询结果以备下次使用。

对于缓存,我尝试了准备好的语句,但没有得到任何积极的结果。

有没有其他方法可以缓存查询和查询结果集

最佳答案

请检查您使用的mysql版本。它似乎 在 MySQL 5.1.17 之前,准备好的语句不使用查询缓存。 http://dev.mysql.com/doc/refman/5.1/en/query-cache-operation.html

它还提到了一些查询缓存不起作用的情况。我认为替代方法是使用内存缓存,但我不知道它有多好。但有一件事可以肯定,如果您经常更新,所有这些缓存方法都无法正常工作。我猜你对缓存没有太多的控制,当实际表有更新时它会失效(以避免脏读)所以我想你的表在生产中不会经常更新。如果是这种情况,您可以很好地考虑使用应用程序级缓存,当然缓存失效服务/标准就位。

关于java - 缓存数据库查询和结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11920743/

相关文章:

java - 导入类和在对象声明/初始化中直接使用它之间的区别

java - Java 中的奇数数学错误

java - java中goto的用途

javascript - 找不到在离线 Web 应用程序中存储用于离线下载的文件的方法

java - Play 2.1 下将数据库结果缓存在 Java 对象中

java - Dozer - 排除嵌套对象

MySQL "Show table status",自动增量不正确

php - 显示来自 mysql codeigniter 的图像

java - 如何在上传前将 CSV 文件中的记录与数据库中的记录进行比较

ruby-on-rails - Rails 缓存(内容与页面/操作/等)