将数据库缓存到每 5 分钟刷新一次的数组中
Posted
技术标签:
【中文标题】将数据库缓存到每 5 分钟刷新一次的数组中【英文标题】:caching a database into an array which refreshes every 5 minutes 【发布时间】:2011-09-28 17:39:33 【问题描述】:我需要使用 Java 将数据库缓存到数组中,最好的方法是什么?
我需要该数组每 5 分钟刷新一次,并且我需要能够查询该数组。
我希望使用两个数组和某种形式的 DAO DTO 实现。
有没有为此设置的框架?
【问题讨论】:
【参考方案1】:让您的生活更轻松的一些关键点:
-
为您的缓存数据服务使用singleton pattern
使用scheduled executor 定期刷新数据
确保刷新是 atomic - 考虑使用 AtomicReference 来保存数据
【讨论】:
4.考虑使用现有的缓存解决方案,例如 ehcache:ehcache.org(这将为您处理项目符号 1-3) 向你致敬@Mathias。我去看看。【参考方案2】:您可以为此使用ehcache,您需要配置您的 DAO DTO 实现以缓存其结果并从缓存中查找结果...
可以通过配置驱逐时间(缓存被清除的时间段)来实现缓存刷新。
【讨论】:
以上是关于将数据库缓存到每 5 分钟刷新一次的数组中的主要内容,如果未能解决你的问题,请参考以下文章
redisawk连续子数组的最大和找到字符串/数组中第一个只出现一次的字母