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