不需要额外写代码来实现缓存方法
在使用HttpClient客户端缓存时,需要引入如下依赖。
如上配置省略了一些无关配置,CachingHttpClients用于创建带客户端缓存的HttpClient,其他配置请参考HttpClient连接池配置章节。
CacheConfig主要进行如下几个方面的配置。
· maxCacheEntries: 缓存条目数量,当缓存的数量超了会进行清除。
· maxObjectSize: 每个缓存对象的最大大小,超过该大小的内容将不会被缓存,主要目的是防止出现缓存过大的内容。
· asynchronousWorkersCore/asynchronousWorkersMax/revalidationQueueSize: 成都十大贷款靠谱平台异步更新缓存内容线程池相关配置。
此外,HttpCacheStorage用于指定HTTP响应内容使用什么存储器来存储,BasicHttpCacheStorage表示放在内存中存储(使用LinkedHashMap实现了最简单LRU算法)。默认还提供了Ehcache和Memcached存储实现。其BasicHttpCacheStorage没有基于时间的过期策略,建议实际使用时根据需要选择如Ehcache或者自己扩展一个实现(比如,扩展后支持多级缓存:堆内存→本地磁盘→分布式)。
SchedulingStrategy用于配置当缓存需要重新验证时使用的异步调度策略,默认使用ImmediateSchedulingStrategy,将使用我们配置的线程池参数创建线程池,然后异步进行重新验证请求。
接下来我们看看使用代码怎么实现。
缓存状态有HIT(响应命中,返回缓存的响应内容,不会发送请求到上游服务器)、MISS(缓存未命中,响应来自上游服务器)、VALIDATED(缓存不新鲜需要重新到上游服务器验证,且验证后返回缓存中的响应)、MODULE_RESPONSE(缓存直接生成的响应,比如,请求头“Cache-Control: 汽车房产抵押贷款 only-if-cached”表示只使用缓存内容,但是如缓存没有,则生成一个504响应,此时缓存状态为MODULE_RESPONSE)。
个人小额信用贷当我们多次调用如上代码后会发现,第一次访问时会是MISS,第二次则会是HIT。当然,前提是上游服务器设置了缓存响应头。
HttpClient请求流程如下。
本文地址:不需要额外写代码来实现缓存方法 _http://longshunzhuangshi.com/jianzhanzixun/51.html 本文tag标签:不需要额外写代码来实现缓存方法
上一篇:影响排名的用户行为
下一篇:如何打开搜索计算机窗口