在Java中,可以通過使用`CacheBuilder`類來創建本地緩存并設置過期時間。以下是一個示例代碼:
```java
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import java.util.concurrent.TimeUnit;
public class LocalCacheExample {
public static void main(String[] args) {
// 創建一個本地緩存,設置最大緩存大小為100,過期時間為10分鐘
Cache
.maximumSize(100)
.expireAfterWrite(10, TimeUnit.MINUTES)
.build();
// 將鍵值對放入緩存中
cache.put("key1", "value1");
cache.put("key2", "value2");
// 從緩存中獲取值
String value1 = cache.getIfPresent("key1");
String value2 = cache.getIfPresent("key2");
System.out.println("value1: " + value1);
System.out.println("value2: " + value2);
// 休眠11分鐘,此時緩存中的數據應該已經過期
try {
Thread.sleep(11 * 60 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 再次嘗試獲取緩存中的值
value1 = cache.getIfPresent("key1");
value2 = cache.getIfPresent("key2");
System.out.println("value1 after expiration: " + value1);
System.out.println("value2 after expiration: " + value2);
}
}
```
在上面的代碼中,使用`CacheBuilder.newBuilder()`來創建一個緩存構建器,然后通過調用`maximumSize()`方法設置緩存的最大大小,`expireAfterWrite()`方法設置緩存數據的過期時間。最后通過調用`build()`方法來構建緩存對象。
需要注意的是,以上示例中使用了Guava庫中的`CacheBuilder`來創建本地緩存,需要在項目中引入相應的依賴。