问题标签 [httpresponsecache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
719 浏览

android - 如何更新 OkHttp 缓存

在我的 android 应用程序中,我使用 OkHttp 缓存来自服务器的响应。为此,我实现了如下代码

这是我的拦截器类,我将其设置为 OkClient,如下所示

但问题是,当布尔值mShouldUpdateCache变为真时,我必须更新缓存。现在我已经写了response.newBuilder().header("Cache-Control", "no-cache").build();,但它既没有更新缓存也没有从服务器获取,我该如何解决这个问题?

0 投票
1 回答
172 浏览

android - HTTPResponseCache 存储但从不命中

我正在开发具有大量 Web 服务请求负载的 Android 应用程序。

我已经有一个 LoginActivity ,用户在其中介绍用户名和密码,服务器响应结果和令牌。然后,几个活动(所有活动都从一个公共 BaseActivity 扩展)执行繁重的请求。

我还有一个 ServiceManager 类,它负责所有的服务请求和 HTTP 请求。

我正在努力实现 HttpResponseCache 以减轻这种净负载。现在我有以下代码:

在我的 LoginActivity(第一个启动的)onCreate 中:

在我的 ServiceManager 的 httpRequest 函数中,这是我每次尝试发出 HTTP 请求时实际执行的函数:

现在,由于服务器端还没有准备好,所以我发出请求的 URL总是相同的

如您所见,我正在调试一些东西,结果如下:

  • 已安装缓存
  • 缓存:android.net.http.HttpResponseCache@b3e3b6
  • 净计数:X
  • 命中数:0
  • 请求数:X
  • {myJson}

如您所见,当我通过 cache.get() 方法获取 JSON 时,缓存能够读取它,但它永远不会命中。

我在响应头中的服务器端指令 Cache-Control 是: Cache-Control:public Cache-Control:max-age=3800

为什么缓存永远不会命中?

非常感谢你!

0 投票
1 回答
182 浏览

android - 使用 HttpResponseCache 会使应用程序崩溃

我正在尝试使用HttpResponseCache缓存网络数据,但是当我将安装缓存代码放入OnCreateOnPause方法时,应用程序崩溃。我使用了HttpResponseCache 文档中的代码。并出现如下所示的编译错误。使用后

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)

为了解决它消失的错误,我运行应用程序但仍然崩溃。当我删除该代码时,它会恢复正常行为。

我是初学者,如果有人可以提供帮助,我将不胜感激。这是 MainActivity 代码

应用程序崩溃后出现在 logcat 中的内容

0 投票
2 回答
342 浏览

android - com.squareup.okhttp.HttpResponseCache 无法解析符号“HttpResponseCache”

我正在尝试在 Android Studio 中编译一个 Android 项目,该项目导入:

com.squareup.okhttp.HttpResponseCache

我收到错误“无法解析符号 'HttpResponseCache'”

我尝试在 gradle 中添加以下依赖项但没有成功:

我应该包含哪些库才能使用 HttpResponseCache?

0 投票
2 回答
1475 浏览

php - Laravel 5.1 面向对象的 ajax 响应缓存

我正在开发一个 Laravel 5.1 项目,使用大量返回 html 块的 ajax 调用。

为了优化网站的速度,我想实现私有和公共响应缓存。使用以下代码可以正常工作:

然而,以这种方式使用它不会保留在 300 秒内更新的帐户对象。

当且仅当返回对象已更新时,是否有可能让我清除请求的响应缓存?

0 投票
2 回答
69 浏览

android - Android CacheResponse:获取文件路径?

有没有办法检索 Android 的文件路径CacheResponse?当然,可以得到一个InputStream, 但在某些 API(例如 NDK 代码)需要一个没有帮助的文件路径的情况下。当然可以使用此流来生成另一个文件,但这需要更多时间和空间。

0 投票
1 回答
599 浏览

asp.net-core - 缓存响应消息

我们做了很多 REST 调用,并希望缓存其中的大部分调用。我们目前的选择是什么?Core 目前不支持输出缓存,那么我们可以使用响应缓存或分布式缓存吗?如果是Response Caching,Kestrel前面的IIS反向代理可以用于Response Caching的场景吗?谢谢!

0 投票
0 回答
62 浏览

android - 在应用程序中子类化 com.android.okhttp.AndroidShimResponseCache

我想子类ResponseCache化并使用一个子类com.android.okhttp.AndroidShimResponseCache作为内部委托。

特别是我想在类中添加一个小的预缓存方法,类似于AndroidShimResponseCache.put,但Response要缓存我自己的文件。

然后我会将我的类(继承自ResponseCache)设为系统默认值。

如何AndroidShimResponseCache在我的代码中访问以在我的应用程序中对其进行子类化?

我无法从我设备上的任何 repo 或库中获取它。

0 投票
1 回答
937 浏览

java - 将 LRU 图像缓存与 HTTPResponseCache 结合用于磁盘和内存缓存

最初的目标是同时使用磁盘和内存缓存。这需要实现 LRU 缓存和 DiskLruCache。但是,由于 HTTPResponse 缓存使用磁盘空间,我选择使用 LRU 缓存并执行 con.setUseCaches(true);

问题是我真的不明白首先实现的是什么。对于 LRU 和 DiskLru 缓存,算法如下:

在此处输入图像描述

IE

首先检查内存缓存中的图像

如果有图像,则返回并更新缓存

否则检查磁盘缓存

如果磁盘缓存有图像,则返回并更新缓存

否则从互联网下载图像,返回并更新缓存

现在使用下面的代码:

看起来好像在 doInBackground() 中我正在保存到 HttpResponseCache,而在 onPostExecute() 中我正在将相同的图像保存到 LRUCache。我想做的是:

如果图片没有缓存,则保存到 HttpResponseCache 如果 HttpResponseCache 已满,则保存到 LRUCache。如果两者都已满,请使用默认删除机制来删除旧的未使用图像。问题是保存到两个缓存而不是任何一个

编辑改写问题

**

由于两者都缓存相同的图像,两次并将缓存保存到同一个文件系统,也许问题应该是使用哪一个,因为使用两者似乎没有意义......

**

0 投票
1 回答
535 浏览

java - 如何在 Android 上使用 HttpsURLConnection 和 HttpResponseCache 强制缓存?

我有下面的方法从 wiktionary.org 请求页面,问题是服务器Cache-control => private, must-revalidate, max-age=0在标题中返回,这阻止HttpsURLConnection了存储请求。

有没有办法强制缓存这些页面?

更新:

仍然无法使用okhttp 拦截器获得缓存命中