当前位置: 首页 > 知识库问答 >
问题:

禁用截取缓存管理

禄豪
2023-03-14

有没有办法禁用截取缓存管理?我的应用程序使用Google Volley库来管理传输层,但我有自己的缓存管理器实现,因为服务器不使用缓存控制头。我想节省截击缓存使用的空间,因为它完全没有用。

有什么简单的方法吗?或者我应该实现我自己版本的Request estQueue

如有任何建议,我们将不胜感激。

共有3个答案

凌俊名
2023-03-14
request.setShouldCache(false);

对于GET请求似乎是不够的.但是,在添加到队列之前清除缓存似乎有帮助

myRequestQueue.getCache().clear();

在返回队列之前,我把它放在我的Volley单例中的getRequest estQueue()方法中。

庞修贤
2023-03-14

您可以从构造函数创建请求队列,并传递一个NoCache对象作为第一个参数。第二个参数是基于您选择的AndroidHttpClientHttpURLConnection的网络传输。

RequestQueue queue = new RequestQueue(new NoCache(), new BasicNetwork(new HurlStack()));

有关更多详细信息,请参阅本文档。

根据留档,BasicNetwork是Volley的默认网络实现。

梁磊
2023-03-14

如果使用在volley中实现的任何默认请求类(例如StringRequest、JsonRequest等),则在将请求对象添加到volley请求队列之前调用setShouldCache(false):

request.setShouldCache(false);
myQueue.add(request);

如果您有自己的请求类实现,那么可以在类的构造函数中调用setShouldCache(false)。

解决方案分别禁用每个请求的缓存。如果要从volley库全局禁用缓存,可以在请求类中将mShouldCache变量永久设置为false。

 类似资料:
  • 问题内容: 我现在有点泡菜。我正在构建一个将从CGI后端获取数据的网页。我无法控制CGI后端,也无法控制服务器(因此无法控制mod_headers或mod_expires)。同样,由于脚本的参数,我无法向每个请求附加唯一值(例如’&089u0af0d98)。使用XmlHttpRequest对象的请求是AJAX。我尝试设置“ If-Modified-Since”和“ Cache-Control”请求

  • 我制作了一个html文件,在这里我使用JavaScript从文本文件中查看表列表。这里的问题是,每次我在平板电脑的PhoneGap中输入页面时,它都会显示旧内容。在我的电脑上试用时,我必须键入Ctrl F5以获取最新内容。 如何让我的html页面更新PhoneGap中的内容? 我找到了一些用于禁用缓存的元标记,但它对我不起作用。

  • 问题内容: 我有一些缓存问题。我正在运行一个很小的Web应用程序,该应用程序读取一帧并将其保存到磁盘,然后在浏览器窗口中显示。 我知道,这可能不是最好的解决方案,但是每次我使用相同的名称保存此读取帧时,任何浏览器都会对其进行缓存。 我试图使用html meta-tags-没有成功: 另外,我已经尝试过这一步骤(特定于烧瓶): 这是我尝试修改标头的方式: Google Chrome和Safari仍然

  • 问题内容: 使用时出现缓存问题。 我用来将数据插入MySQL数据库。然后,我有另一个应用程序处理此数据,并直接对其进行更新。 但是总是返回旧数据而不是更新数据。我认为已缓存了我的请求……所以……我应如何禁用它? 问题答案: 人们通常认为,除了在事务本地使用的常规SQLAlchemy身份映射之外,还存在“缓存”的作用,这是因为他们正在观察事务隔离的影响。默认情况下,SQLAlchemy的会话在事务模

  • 问题内容: 我正在测试一些针对强大压力的JSON API。然而,在某一时刻,响应时间趋于平稳的“趋势”。它增加到一个很高的点,然后下降到一个永不改变的响应时间。 我尝试取消所有两个JMeter缓存管理器选项,并将最大缓存大小设置为1。还添加了一个HTTP标头,该标头在Cache-Control上的最大寿命为零。 如何完全禁用JMeter中的缓存? 注意 : 我搜索了相关文章:但是,出现的是将JMe

  • 问题内容: 我正在尝试编写一个单元测试类,该类必须使用相同的查询以相同的测试方法两次从数据库中获取结果。但是,由于第二次启用了Hibernate缓存,因此它实际上并没有访问数据库,只是从缓存中获取结果。 有人可以回答如何禁用中的缓存。 但是它没有用。 问题答案: 有人可以回答如何在persistence.xml中禁用缓存。 默认情况下,第二级缓存和查询缓存是禁用的(除非您显式缓存它们,否则不会缓存