线上环境部分请求的请求量十分巨大,将给缓存服务带来很大的压力,这时候为了提高服务整体性能,我们会考虑使用本地缓存,一方面能降低缓存服务的请求量,提高缓存服务性能,另一方面也能减少服务器与缓存服务之间的流量。当然使用缓存将带来数据一致性问题,所以使用本地缓存的场景需要仔细斟酌
Google的开源工具包Guava中提供了对本地缓存的实现,并且提供了类似Redis的缓存超时删除功能,简单易用
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
由于比较简单,这里直接贴代码了:
package com.sean;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* Created by seanzou on 2017/10/27.
*/
public class Cache {
private static LoadingCache<Integer, People> cache = CacheBuilder
.ne