shell
java -version
mvn -version
<dependencies>
<dependency>
<groupId>com.github.xiaolyuh</groupId>
<artifactId>cuttle-core</artifactId>
<version>1.0.0</version>
</dependency>
<!-- <dependency>
<groupId>com.example</groupId>
<artifactId>example-library</artifactId>
<version>1.0.0</version>
</dependency> -->
</dependencies>
shell
mvn install
import com.xiaolyuh.cache.Cache;
import com.xiaolyuh.cache.CacheLoader;
import com.xiaolyuh.cache.CaffeineCache;
import com.xiaolyuh.cache.CacheKeyGenerator;
public class MainApplication {
public static void main(String[] args) {
Cache<String, Object> cache = CaffeineCache.<String, Object>builder()
.expireAfterWrite(1, TimeUnit.MINUTES)
.maximumSize(1000)
.build(new CacheLoader<String, Object>() {
@Override
public Object load(String key) throws Exception {
return fetchDataFromDatabase(key);
}
}, new CacheKeyGenerator<String>() {
@Override
public String getKey(String key) {
return key.toUpperCase();
}
});
cache.put("key1", "value1");
Object value1 = cache.get("key1");
System.out.println("Value1: " + value1);
}
private static Object fetchDataFromDatabase(String key) {
return "data_from_database_for_" + key;
}
}
shell
mvn compile
mvn exec:java -Dexec.mainClass="com.example.MainApplication"