java map 过期_使用guava过期map

本文介绍如何在没有Redis或Memcache的情况下,利用Guava的Cache来实现微信access_token和ticket_token的缓存,以避免频繁请求微信接口。通过创建一个静态的Cache实例并设置过期时间,当缓存过期后,会重新获取access_token和ticket_token。代码中包含了HTTP请求、JSON解析以及两个数据实体类的定义。
摘要由CSDN通过智能技术生成

最近需要将微信的accesstoken保存到缓存里面,防止重复请求微信接口获取token,造成token请求次数超标,其实随便一个缓存都可以轻松解决,但是现有的环境中没有redis,没有memcahe,做一个这个小功能,不需要引入这些框架,就用guava的过期map就可以了,不要要是服务宕机了,可又要重新获取了,这个...不再考虑范围内了.

依赖包:

com.google.guava

guava

20.0

Cache这个类有很多,防止导错,给出包名:

import com.alibaba.fastjson.JSON;

import com.google.common.cache.Cache;

import com.google.common.cache.CacheBuilder;

import com.google.gson.Gson;

import lombok.extern.slf4j.Slf4j;

import org.apache.http.HttpResponse;

import org.apache.http.client.ClientProtocolException;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.util.EntityUtils;

声明全局静态变量Cache

private static Cache cache = null;

设置过期时间,一般微信的token过期时间是7200s,我设的短一些:

/**

* 缓存其accessToken 和 ticketToken 的值

*

*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值