编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

java如何利用Guava缓存、Ehcache缓存

wxchong 2024-08-31 04:08:41 开源技术 9 ℃ 0 评论


在Java开发中,缓存是提高应用程序性能的重要手段。Guava缓存和Ehcache是两种流行的缓存解决方案。

  1. 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.");  
}
  1. 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"); //添加键值对到缓存中

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表