如何在服务器端创建java级缓存

时间:2014-01-28 06:17:31

标签: java caching

每当服务器启动时,我都试图将数据库对象缓存到服务器端的Java对象中。

目前我只是使用静态Hashmap在启动时设置属性,并在用户从GUI更新值时更新属性。每当更新值时都很难维护缓存功能。

任何人都可以帮我在java服务器端应用缓存功能吗?

2 个答案:

答案 0 :(得分:2)

Ehcache是​​最好的方法之一。它附带一个默认配置,可以在几分钟内完成并在应用程序中使用。

CacheManager.getInstance().addCache("test");将创建一个名为test和defualt属性的缓存。

添加对象很容易,您需要创建一个带有键和值的net.sf.ehcache.Element并将其放入缓存中。 CacheManager.getInstance().getCache("test").put(new Element(key, value));

然后从缓存中取回也类似于get(key);

如果你的应用中有弹簧,你的生活会更简单。您可以在方法上添加@Cacheble注释以缓存返回值。你可以从spring文档中找到很多帮助。

默认情况下,配置将有120秒的到期时间。这意味着您放入缓存的对象将在120秒后过期并被删除。您可以通过拥有自己的cache.xml来增加/调整它。

答案 1 :(得分:1)

对于简单缓存,您可以使用ehcache。如果JPA实现基于Hibernate,则infinispan是正确的选择。与ehcache相比,分布式缓存在infinispan中更好,因为它可以作为一个单独的进程运行(Infinispan Hot Rod Server)。