在Java开发中,缓存是提高应用程序性能的重要手段。Guava缓存和Ehcache是两种流行的缓存解决方案。
Guava缓存
Guava缓存是Google Guava库中的一部分,提供了简单的本地缓存实现。以下是使用Guava缓存的基本步骤:
(1)引入依赖
首先,需要在项目中引入Guava库的依赖。如果使用Maven,可以在pom.xml文件中添加以下依赖:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version> </dependency>
(2)创建缓存
使用Guava的CacheBuilder类创建一个缓存实例。例如,创建一个最多存储100个键值对,过期时间为10分钟的缓存:
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import java.util.concurrent.TimeUnit;
public class GuavaCacheDemo {
public static void main(String[] args) {
Cache<String, String> cache = CacheBuilder.newBuilder()
.maximumSize(100)
.expireAfterWrite(10, TimeUnit.MINUTES)
.build();
}
}
(3)使用缓存
使用put方法将键值对存入缓存,使用get方法从缓存中获取值。如果缓存中没有找到值,可以通过CacheLoader实现自动加载。
// 添加键值对 cache.put("key", "value");
// 获取值 String value = cache.getIfPresent("key");
if (value != null) {
System.out.println("Value from cache: " + value);
} else {
System.out.println("Value not found in cache.");
}
Ehcache缓存
Ehcache是一个功能强大的开源Java缓存框架,支持本地缓存和分布式缓存。以下是使用Ehcache进行本地缓存的基本步骤:
(1)引入依赖
在项目中引入Ehcache库的依赖。如果使用Maven,可以在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.9.3</version> </dependency>
(2)创建配置文件
在resources目录下创建一个名为ehcache.xml的配置文件,定义缓存策略:
<?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.9.xsd"
xmlns="http://www.ehcache.org/v3">
<cache alias="myCache">
<key-type>java.lang.String</key-type>
<value-type>java.lang.String</value-type>
<expiry>
<ttl unit="minutes">10</ttl>
</expiry>
<resources>
<heap unit="entries">100</heap>
</resources>
</cache> </ehcache>
(3)创建和使用缓存
通过CacheManager获取一个Cache实例,然后使用put和get方法进行缓存操作:
import org.ehcache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.PersistentCacheManager;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;
import org.ehcache.xml.XmlConfiguration;
public class EhcacheDemo {
public static void main(String[] args) {
PersistentCacheManager cacheManager = CacheManagerBuilder.newCacheManager(new XmlConfiguration(EhcacheDemo.class.getResource("/ehcache.xml"))).build(true);
Cache<String, String> cache = cacheManager.getCache("myCache", String.class, String.class);
cache.put("key", "value"); //添加键值对到缓存中
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.5amiao.com/wenhua/2342.html