本地缓存Guava使用案例

配置文件pom.xml引入jar包即可

   <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>15.0</version>

     </dependency>
代码 :

调用类

public class SystemParamServiceImpl implements SystemParamService 
{
    private Logger logger=LoggerFactory.getLogger(SystemParamServiceImpl.class);
    /**缓存获取时间(分钟)*/
    private static final int EXPIRE_TIME=3;
    /**最大缓存数量*/
    private static final int MAX_SIZE=1000;
    /**本地缓存*/
    private Cache<String, List<SystemParamBean>> paramCache = CacheBuilder.newBuilder().expireAfterWrite(EXPIRE_TIME, TimeUnit.MINUTES).maximumSize(MAX_SIZE).build();
    
    @Resource(name = "systemParamMapper")
    private SystemParamMapper systemParamMapper;

    @Override
    public List<SystemParamBean> selectByCategory(String category)
    {
        String cacheKey = this.getCacheKey(null,category,null);
        try
        {
            return paramCache.get(cacheKey, new Callable<List<SystemParamBean>>()
            {
                @Override
                public List<SystemParamBean> call() throws Exception
                {
                    return systemParamMapper.selectByCategory(category);
                }
            });
        }
        catch (ExecutionException e)
        {
            logger.error("获取本地缓存内容出错",e);
            return null;
        }
    }

    @Override
    public List<SystemParamBean> selectByCategoryAndSubCategory(String category, String subCategory)
    {
        String cacheKey = this.getCacheKey(null,category, subCategory);
        try
        {
            return paramCache.get(cacheKey, new Callable<List<SystemParamBean>>()
            {
                @Override
                public List<SystemParamBean> call() throws Exception
                {
                    return systemParamMapper.selectByCategoryAndSubCategory(category, subCategory);
                }
            });
        }
        catch (ExecutionException e)
        {
            logger.error("获取本地缓存内容出错",e);
            return null;
        }
    }

    
    }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值