问题标签 [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.
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 中使用无缓存读取有任何想法吗?
javascript - 海量谷歌地图。5000 个位置,5MB。如何让它更快?
我正在尝试加载显示 5000 个可点击标记的 Google Maps v3。我的 JS 每个地方包含 10 行:
所以它给了我一个 50 000 行的 js (5MB)。我很想缓存它,但 heroku 不允许页面加载超过 30 秒,所以我什至无法缓存它一次。
你有什么技巧可以更快地加载这个页面吗?我只设法在本地完成(需要 45 秒~)。我没有其他东西要加载。我使用 RoR。
非常感谢!
解决方案(这很酷)。
java - 如何强制 Java Applet 从缓存中加载
我和我的朋友正在开发一个小游戏,我们想与我们的朋友分享开发阶段。所以我做了这个小页面http://people.scs.carleton.ca/~manders8/game.html
现在它是我们正在更新的一个 .class 文件。但由于某种原因,它总是加载旧版本。我知道有一种方法可以关闭 Java 缓存,但我的朋友们并不那么称职。另外,为了让人们玩你的游戏,它应该超级简单,并且不需要像屏幕截图那样的 5 个步骤来尝试它。
我有这是标签:
因为我认为它可能与浏览器有关,但这无济于事。
这是我的代码
从小程序更改为:
amazon-s3 - 浏览器忽略缓存控制
我在 Amazon S3 上设置了一个静态文件以使用Cache-Control: max-age: 259200, must-revalidate
. 但是,当我在 Safari 中的浏览器上加载测试页面时,资源跟踪器显示它正在从 Amazon S3 获取文件,即使它应该被缓存。这是怎么回事?浏览器是否有我不知道的特殊缓存规则Cache-Control
?
c# - 如何在 C# 中构建 Web 服务缓存
我正在开发一项网络服务,以从 3rd 方提要中读取数据,对其进行一些修改并存储它,然后将其返回给我的客户。它只需要定期从第 3 方站点更新。它将作为 WCF 服务在 Azure 中的 Web 角色中运行。
起初我以为我总是会调用我的 parsefeed 方法,但如果最后一次更新太早,则让该调用返回......
但我猜想,由于提取可能需要 1-2 秒(它是一项 Web 服务),因此多个用户会同时访问该代码。
来自http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312607 因为任何类(包括应用程序类)的静态成员都不是线程安全的,所以用户代码必须为访问静态成员。这适用于您添加到应用程序类的任何静态成员。
我可以使用锁定(不确定如何) 编辑:这里有很多信息
我可以避免使用静态变量并使用缓存,并将我的数据放入其中(但在到期时会被删除,并且多个用户会尝试获取数据)
我可以使用带有假数据的缓存(基本上作为计时器)并在过期时刷新 - 但即使没有人访问该站点也会刷新。(也可能不是线程安全的)
我不能真正使用输出缓存,因为客户端以一种可能使每个请求唯一的方式查询我返回的数据:我的服务根据请求进行排序和过滤
顺便说一句,我不担心 Azure 上多个实例的结果一致性。每个人都可以自己获取,所以我不需要在多个服务器上共享状态。
我觉得有一个简单的解决方案,我完全错过了。想法?
http-headers - 谁为请求标头设置了 If-Modified-Since?
对于静态内容,比如图片、CSS、js等,请求头If-Modified-Since是由网页浏览器还是网页服务器设置的?
language-agnostic - 关联缓存模拟 - 处理错误方案
在模拟完全关联的缓存(在 MIPS 程序集中)时,根据在线阅读的一些信息,我想到了几个问题;
根据马里兰大学的一些笔记
找到一个插槽:最多匹配一个插槽。如果匹配的插槽不止一个,则说明您的全关联缓存方案有问题。在全关联缓存的任何插槽中,您永远不应拥有超过一个缓存行副本。很难维护多个副本,而且没有意义。这些插槽可用于其他高速缓存行。
这是否意味着我应该一直检查整个标签列表以检查第二个匹配项?毕竟,如果我不这样做,我将永远不会“意识到”缓存的错误,但是,每次检查似乎效率很低。
如果我确实检查了,并且不知何故我设法找到了第二个匹配项,这意味着缓存方案有问题,那我该怎么办?虽然最好的答案是修复我的实现,但如果出现这种情况,我对如何在执行期间处理它很感兴趣。
mysql - MySQL查询缓存、复杂SQL查询
以下问题让我很头疼。
我已经将我的 MySQL 服务器设置为使用“Query Chaching”。
似乎我的查询缓存有效,因为
如下
但是,尽管如此(复杂查询,内部选择等)不会被缓存。
检索此查询的数据总是至少需要 0.8 秒。如何让 mysql将此查询的结果存储在它的缓存中?
我尝试删除内部选择,但这并没有什么不同。
任何帮助apprechiated....
问候
J。
php - 如何制作 Firefox,而不是缓存我的网页
我有这个页面,我们称之为index.php
index.php
有一个用户列表和一个删除用户按钮。这将带他们去removeUser.php
最后一行removeUser.php
是回到index.php
但是在 Firefox 中,它看起来还是一样的,普通用户不知道每次手动加载页面时如何进行硬刷新或清除缓存。
我试过了
并且
我什至尝试EXPIRY 0
在 META 标签中设置,这些都没有帮助。尽管它在 Chrome 和其他浏览器中都能完美运行,但只有 Firefox 存在这个问题。
这些是@alex 要求的我的标题
c# - 如何将 Javascript 作为 HTML 代码存储在网站中
我将 Web 表单和 Asp.Net 与 MS SQL 一起使用。
对于我的网站,我需要存储这些代码亲爱的,也许将来还有其他代码:
- 谷歌分析代码
- 一些 JavaScript 代码
- 我的模板的 HTML 页脚和页眉。
我需要一个可以集中的解决方案,使用 CACHE,易于更新:
在这里我的想法,我想你的意见:
- 01 使用带有表(配置表)的数据库,该表对于每条记录(VARCHAR)都允许将这些代码尖峰存储为字符串。
- 02 在特定文件夹中使用简单的文本文件,这样我就可以将这些文件包含在我的代码中。我可以使用 FTP 和记事本更新代码(这里我担心缓存)。
- 03 使用 Web.Conf 文件。
- 04 使用文本文件和一个类,它将管理在缓存中存储这些文件的内容。
有任何想法吗?谢谢你的时间。
在这里,我想为这个主题提供重点和有用的文章: