问题标签 [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.
android - 如何更新 OkHttp 缓存
在我的 android 应用程序中,我使用 OkHttp 缓存来自服务器的响应。为此,我实现了如下代码
这是我的拦截器类,我将其设置为 OkClient,如下所示
但问题是,当布尔值mShouldUpdateCache
变为真时,我必须更新缓存。现在我已经写了response.newBuilder().header("Cache-Control", "no-cache").build();
,但它既没有更新缓存也没有从服务器获取,我该如何解决这个问题?
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
为什么缓存永远不会命中?
非常感谢你!
android - 使用 HttpResponseCache 会使应用程序崩溃
我正在尝试使用HttpResponseCache缓存网络数据,但是当我将安装缓存代码放入OnCreate和OnPause方法时,应用程序崩溃。我使用了HttpResponseCache 文档中的代码。并出现如下所示的编译错误。使用后
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
为了解决它消失的错误,我运行应用程序但仍然崩溃。当我删除该代码时,它会恢复正常行为。
我是初学者,如果有人可以提供帮助,我将不胜感激。这是 MainActivity 代码
应用程序崩溃后出现在 logcat 中的内容
android - com.squareup.okhttp.HttpResponseCache 无法解析符号“HttpResponseCache”
我正在尝试在 Android Studio 中编译一个 Android 项目,该项目导入:
com.squareup.okhttp.HttpResponseCache
我收到错误“无法解析符号 'HttpResponseCache'”
我尝试在 gradle 中添加以下依赖项但没有成功:
我应该包含哪些库才能使用 HttpResponseCache?
php - Laravel 5.1 面向对象的 ajax 响应缓存
我正在开发一个 Laravel 5.1 项目,使用大量返回 html 块的 ajax 调用。
为了优化网站的速度,我想实现私有和公共响应缓存。使用以下代码可以正常工作:
然而,以这种方式使用它不会保留在 300 秒内更新的帐户对象。
当且仅当返回对象已更新时,是否有可能让我清除请求的响应缓存?
android - Android CacheResponse:获取文件路径?
有没有办法检索 Android 的文件路径CacheResponse
?当然,可以得到一个InputStream
, 但在某些 API(例如 NDK 代码)需要一个没有帮助的文件路径的情况下。当然可以使用此流来生成另一个文件,但这需要更多时间和空间。
asp.net-core - 缓存响应消息
我们做了很多 REST 调用,并希望缓存其中的大部分调用。我们目前的选择是什么?Core 目前不支持输出缓存,那么我们可以使用响应缓存或分布式缓存吗?如果是Response Caching,Kestrel前面的IIS反向代理可以用于Response Caching的场景吗?谢谢!
android - 在应用程序中子类化 com.android.okhttp.AndroidShimResponseCache
我想子类ResponseCache
化并使用一个子类com.android.okhttp.AndroidShimResponseCache
作为内部委托。
特别是我想在类中添加一个小的预缓存方法,类似于AndroidShimResponseCache.put
,但Response
要缓存我自己的文件。
然后我会将我的类(继承自ResponseCache
)设为系统默认值。
如何AndroidShimResponseCache
在我的代码中访问以在我的应用程序中对其进行子类化?
我无法从我设备上的任何 repo 或库中获取它。
java - 将 LRU 图像缓存与 HTTPResponseCache 结合用于磁盘和内存缓存
最初的目标是同时使用磁盘和内存缓存。这需要实现 LRU 缓存和 DiskLruCache。但是,由于 HTTPResponse 缓存使用磁盘空间,我选择使用 LRU 缓存并执行 con.setUseCaches(true);
问题是我真的不明白首先实现的是什么。对于 LRU 和 DiskLru 缓存,算法如下:
IE
首先检查内存缓存中的图像
如果有图像,则返回并更新缓存
否则检查磁盘缓存
如果磁盘缓存有图像,则返回并更新缓存
否则从互联网下载图像,返回并更新缓存
现在使用下面的代码:
看起来好像在 doInBackground() 中我正在保存到 HttpResponseCache,而在 onPostExecute() 中我正在将相同的图像保存到 LRUCache。我想做的是:
如果图片没有缓存,则保存到 HttpResponseCache 如果 HttpResponseCache 已满,则保存到 LRUCache。如果两者都已满,请使用默认删除机制来删除旧的未使用图像。问题是保存到两个缓存而不是任何一个
编辑改写问题
**
由于两者都缓存相同的图像,两次并将缓存保存到同一个文件系统,也许问题应该是使用哪一个,因为使用两者似乎没有意义......
**
java - 如何在 Android 上使用 HttpsURLConnection 和 HttpResponseCache 强制缓存?
我有下面的方法从 wiktionary.org 请求页面,问题是服务器Cache-control => private, must-revalidate, max-age=0
在标题中返回,这阻止HttpsURLConnection
了存储请求。
有没有办法强制缓存这些页面?
更新:
仍然无法使用okhttp 拦截器获得缓存命中