问题标签 [cache-control]

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 回答
1172 浏览

android - 如何在Android中读取没有缓存的文件?

我正在开发 Android 平台上的测试应用程序。测试对 sdcard 的写入/读取速度。我用 NDK 接口用 C 语言编写。

首先,我编写了一个 for 循环来创建 256 个文件,每个文件有 512 个随机字节。这部分工作正常。我打开带有标志 O_CREAT|O_WRONLY|O_SYNC 和模式 0666 的文件。在调用 write 之后,我执行 sync() 以确保数据已写入卡上。

然后我编写了另一个 2 级 for 循环来读取这些文件以测试速度。我使用 O_RDWR|O_SYNC 打开文件。然后调用 read()。

事情是这样的:如果这是我第一次运行读取部分。读取的第一个循环比后面的循环花费更多时间。我确定这是因为在第一个循环之后,程序读取了缓存而不是真正的物理卡。

我试过 O_DIRECT 标志来读取。但它与 EINVAL 错误。在打开的手册页中,它说可能是因为该功能没有被平台实现。

您对如何在 Android 中使用无缓存读取有任何想法吗?

0 投票
3 回答
1834 浏览

javascript - 海量谷歌地图。5000 个位置,5MB。如何让它更快?

我正在尝试加载显示 5000 个可点击标记的 Google Maps v3。我的 JS 每个地方包含 10 行:

所以它给了我一个 50 000 行的 js (5MB)。我很想缓存它,但 heroku 不允许页面加载超过 30 秒,所以我什至无法缓存它一次。

你有什么技巧可以更快地加载这个页面吗?我只设法在本地完成(需要 45 秒~)。我没有其他东西要加载。我使用 RoR。

非常感谢!

解决方案(这很酷)。

0 投票
3 回答
12186 浏览

java - 如何强制 Java Applet 从缓存中加载

我和我的朋友正在开发一个小游戏,我们想与我们的朋友分享开发阶段。所以我做了这个小页面http://people.scs.carleton.ca/~manders8/game.html

现在它是我们正在更新的一个 .class 文件。但由于某种原因,它总是加载旧版本。我知道有一种方法可以关闭 Java 缓存,但我的朋友们并不那么称职。另外,为了让人们玩你的游戏,它应该超级简单,并且不需要像屏幕截图那样的 5 个步骤来尝试它。

我有这是标签:

因为我认为它可能与浏览器有关,但这无济于事。

这是我的代码

从小程序更改为:

0 投票
0 回答
721 浏览

amazon-s3 - 浏览器忽略缓存控制

我在 Amazon S3 上设置了一个静态文件以使用Cache-Control: max-age: 259200, must-revalidate. 但是,当我在 Safari 中的浏览器上加载测试页面时,资源跟踪器显示它正在从 Amazon S3 获取文件,即使它应该被缓存。这是怎么回事?浏览器是否有我不知道的特殊缓存规则Cache-Control

0 投票
2 回答
2041 浏览

c# - 如何在 C# 中构建 Web 服务缓存

我正在开发一项网络服务,以从 3rd 方提要中读取数据,对其进行一些修改并存储它,然后将其返回给我的客户。它只需要定期从第 3 方站点更新。它将作为 WCF 服务在 Azure 中的 Web 角色中运行。

起初我以为我总是会调用我的 parsefeed 方法,但如果最后一次更新太早,则让该调用返回......

但我猜想,由于提取可能需要 1-2 秒(它是一项 Web 服务),因此多个用户会同时访问该代码。

来自http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312607 因为任何类(包括应用程序类)的静态成员都不是线程安全的,所以用户代码必须为访问静态成员。这适用于您添加到应用程序类的任何静态成员。

  • 我可以使用锁定(不确定如何) 编辑:这里有很多信息

  • 我可以避免使用静态变量并使用缓存,并将我的数据放入其中(但在到期时会被删除,并且多个用户会尝试获取数据)

  • 我可以使用带有假数据的缓存(基本上作为计时器)并在过期时刷新 - 但即使没有人访问该站点也会刷新。(也可能不是线程安全的)

  • 我不能真正使用输出缓存,因为客户端以一种可能使每个请求唯一的方式查询我返回的数据:我的服务根据请求进行排序和过滤

顺便说一句,我不担心 Azure 上多个实例的结果一致性。每个人都可以自己获取,所以我不需要在多个服务器上共享状态。

我觉得有一个简单的解决方案,我完全错过了。想法?

0 投票
1 回答
1508 浏览

http-headers - 谁为请求标头设置了 If-Modified-Since?

对于静态内容,比如图片、CSS、js等,请求头If-Modified-Since是由网页浏览器还是网页服务器设置的?

0 投票
1 回答
220 浏览

language-agnostic - 关联缓存模拟 - 处理错误方案

在模拟完全关联的缓存(在 MIPS 程序集中)时,根据在线阅读的一些信息,我想到了几个问题;

根据马里兰大学的一些笔记

找到一个插槽:最多匹配一个插槽。如果匹配的插槽不止一个,则说明您的全关联缓存方案有问题。在全关联缓存的任何插槽中,您永远不应拥有超过一个缓存行副本。很难维护多个副本,而且没有意义。这些插槽可用于其他高速缓存行。

这是否意味着我应该一直检查整个标签列表以检查第二个匹配项?毕竟,如果我不这样做,我将永远不会“意识到”缓存的错误,但是,每次检查似乎效率很低。

如果我确实检查了,并且不知何故我设法找到了第二个匹配项,这意味着缓存方案有问题,那我该怎么办?虽然最好的答案是修复我的实现,但如果出现这种情况,我对如何在执行期间处理它很感兴趣。

0 投票
3 回答
1464 浏览

mysql - MySQL查询缓存、复杂SQL查询

以下问题让我很头疼。

我已经将我的 MySQL 服务器设置为使用“Query Chaching”。

似乎我的查询缓存有效,因为

如下

但是,尽管如此(复杂查询,内部选择等)不会被缓存。

检索此查询的数据总是至少需要 0.8 秒。如何让 mysql将此查询的结果存储在它的缓存中

我尝试删除内部选择,但这并没有什么不同。

任何帮助apprechiated....

问候

J。

0 投票
3 回答
5398 浏览

php - 如何制作 Firefox,而不是缓存我的网页

我有这个页面,我们称之为index.php

index.php有一个用户列表和一个删除用户按钮。这将带他们去removeUser.php

最后一行removeUser.php是回到index.php

但是在 Firefox 中,它看起来还是一样的,普通用户不知道每次手动加载页面时如何进行硬刷新或清除缓存。

我试过了

并且

我什至尝试EXPIRY 0在 META 标签中设置,这些都没有帮助。尽管它在 Chrome 和其他浏览器中都能完美运行,但只有 Firefox 存在这个问题。

这些是@alex 要求的我的标题

0 投票
2 回答
229 浏览

c# - 如何将 Javascript 作为 HTML 代码存储在网站中

我将 Web 表单和 Asp.Net 与 MS SQL 一起使用。

对于我的网站,我需要存储这些代码亲爱的,也许将来还有其他代码:

  • 谷歌分析代码
  • 一些 JavaScript 代码
  • 我的模板的 HTML 页脚和页眉。

我需要一个可以集中的解决方案,使用 CACHE,易于更新:

在这里我的想法,我想你的意见:

  • 01 使用带有表(配置表)的数据库,该表对于每条记录(VARCHAR)都允许将这些代码尖峰存储为字符串。
  • 02 在特定文件夹中使用简单的文本文件,这样我就可以将这些文件包含在我的代码中。我可以使用 FTP 和记事本更新代码(这里我担心缓存)。
  • 03 使用 Web.Conf 文件。
  • 04 使用文本文件和一个类,它将管理在缓存中存储这些文件的内容。

有任何想法吗?谢谢你的时间。

在这里,我想为这个主题提供重点和有用的文章:

http://nathanaeljones.com/153/performance-killer-disk-io/