java - 我们如何在运行java web应用程序的服务器端缓存MySQL查询?

标签 java mysql caching

示例: 如果大多数客户需要填写表格,则需要选择州和城市。那么这个查询如何能够缓存在服务器端呢?因为州或城市名称几乎不会改变,所以缓存它们是个好主意。

Table 1:
state_name  state_id
__________  ________
state1         1
state2         2

Table 2:
city_name   city_id   state_id
_________   _______   ________
city1          1         1
city2          2         1
city3          3         2

最佳答案

创建 List<String>州和 Map<String, String> [城市,州]对并将其作为静态只读数据放在服务器上。启动时从数据库加载它。

我推荐一个WeakHashMap作为您的实现。如果绝对必要,它将使 GC 有机会逐出值。

州的数量不会改变,但城市列表可能会相当大。

关于java - 我们如何在运行java web应用程序的服务器端缓存MySQL查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9726038/

相关文章:

java - Spring JmsTemplate 是否默认关闭连接?

java - java 包装类

mysql - Scrapy selenium 中间件内存泄漏

java - 如何保持列表添加元素不在 redis 上重复?

image - 为什么 Firefox 似乎没有缓存图像?

java - Mongodb数据库连接失败

java - Apache Camel 将 XML 路由和 beans 从文件加载到 CamelContext 中

php - 如何使用准备好的语句获取 SQL_CALC_FOUND_ROWS 值?

php - Codeigniter:使用数据库存储多个用户的数据库名称

.net - 如何强制硬刷新 (ctrl+F5)?