Add guava dependency in pom.xml
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>18.0</version> </dependency>
Create a CacheService to facilitate calling
public interface CacheService { //存 void setCommonCache(String key,Object value); //取 Object getCommonCache(String key); }
Implementation class
import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.wu.service.CacheService; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import java.util.concurrent.TimeUnit; @Service public class CacheServiceImpl implements CacheService { private Cache<String,Object> commonCache=null; @PostConstruct//代理此bean时会首先执行该初始化方法 public void init(){ commonCache= CacheBuilder.newBuilder() //设置缓存容器的初始化容量为10(可以存10个键值对) .initialCapacity(10) //最大缓存容量是100,超过100后会安装LRU策略-最近最少使用,具体百度-移除缓存项 .maximumSize(100) //设置写入缓存后1分钟后过期 .expireAfterWrite(60, TimeUnit.SECONDS).build(); } @Override public void setCommonCache(String key, Object value) { commonCache.put(key,value); } @Override public Object getCommonCache(String key) { return commonCache.getIfPresent(key); } }
The above is the detailed content of How to add Guava Cache to SpringBoot to implement local caching. For more information, please follow other related articles on the PHP Chinese website!