问题标签 [cache-expiration]

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

asp.net - 以下资源缺少缓存过期 如何为 javascript 文件设置缓存过期?

净应用。我在我的应用程序中使用外部 javascript 文件。当我使用谷歌的页面速度工具测试我的网站时,它说以下资源缺少缓存过期。还有一些图像和css文件。

你能给我一些例子如何设置它以及我需要在哪里设置它。

0 投票
5 回答
36107 浏览

apache - 指定静态文件缓存的到期日期

当我为SpeedTest测试我的网站时,我看到很多过期未指定错误。您可以在此页面上看到。

我将此代码添加到我的 .htaccess 文件中

但什么都没有改变。你能给我一个建议吗,我可以为我的静态文件指定到期日期吗?

服务器:Linux - 阿帕奇

0 投票
2 回答
2125 浏览

ruby-on-rails - Rails 3 和 Memcached - 没有过期的智能缓存

我正在通过 Memcached 在我的 Rails 项目中实现缓存,特别是尝试缓存侧列块(最近的照片、博客等),目前我让它们每 15 分钟左右使缓存过期。哪个行得通,但是如果我可以做到更新,例如添加,更新或诸如此类的新内容,那会更好。

我在 Memcached http://content.newrelic.com/railslab/videos/08-ScalingRails-Memcached-fixed.mp4上观看了 Scaling Rails 截屏视频,在视频中的 8:27,Gregg Pollack 谈到了智能在 Memcached 中缓存的方式是使用智能键(在此示例中为 updated_at 时间戳)来替换以前缓存的项目,而不必使缓存过期。因此,每当更新时间戳时,缓存都会在寻找新时间戳时刷新,我想。

我在这个例子中使用了我的“最近的照片”侧边栏,这就是它的设置方式......

_side-column.html.erb:

_photos.html.erb

<% 结束 %>

在第一次运行时,Memcached 将块缓存为 views/photos/1-20110308040600 并在页面刷新时重新加载缓存的片段,到目前为止一切都很好。然后我在后端的特定行中添加了一张额外的照片并重新加载,但照片数量没有更新。日志显示它仍在从 views/photos/1-20110308040600 加载,并且没有获取更新的时间戳。我所做的一切似乎与视频所做的相同,我在上面做错了什么?

此外,这个问题还有第二部分。正如您在上面的部分中看到的,为集合调用了@recent_photos 查询(在我的 lib 文件夹中的模块之外)。但是,我注意到即使块被缓存,这个 SELECT 查询仍然被调用。我最初尝试将整个部分包装在一个块中,因为 <% cache(@recent_photos) do %>,但显然这不起作用 - 特别是因为整个集合上没有真正的时间戳,当然它只是个别项目. 如果结果已经被缓存,如何防止进行此查询?

更新 参考第二个问题,我发现除非 Rails.cache.exist? 可能只是我的票,但棘手的是使用时间戳的通配符性质......

更新 2 完全忽略我的第一个问题,我弄清楚了为什么缓存没有刷新。那是因为 updated_at 字段没有被更新。原因是我在父项中添加/删除作为嵌套资源的项目,我可能需要对其实施“触摸”以更新父项中的 updated_at 字段。

但是我的第二个问题仍然存在......即使片段被缓存,主要的@recent_photos 查询仍然被调用......有没有使用cache.exists的方法?定位一个名为 /views/photos/1-2011random 之类的缓存?

0 投票
1 回答
2469 浏览

asp.net - ASP.NET 中缓存过期超时的精度是多少?

在我的应用程序中,我对缓存条目使用绝对过期:

一切都或多或少地正常工作,只是到期并不总是恰好在 3 分钟后发生,但通常为时已晚约 20 秒。我一直在想,缓存条目是否有任何精度保证?它可以在 IIS 或其他地方配置吗?还有什么会影响精度的吗?

我正在使用 IIS 7.5(不是开发服务器)运行 2008 R2。

更新:链接到另一个给出了很好答案的问题:更改 ASP.NET 缓存项过期的频率?

0 投票
2 回答
142 浏览

asp.net - ASP.NET 缓存过期的机制?

我有一个任务,我想每天早上 8 点运行,并且正在考虑这个解决方案:https ://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

但我不了解它的工作原理。

假设用户 X 在星期五下午 4 点访问了该站点,然后关闭了他的浏览器并关闭了他的计算机。缓存过期还会在星期六早上 8 点触发吗?如果没有用户访问该站点,我的进程还会每天触发吗?

基本上,我的问题归结为,这种方法可靠吗?还是取决于访问该网站的用户?

0 投票
9 回答
3173 浏览

javascript - 如何使用 xPages 强制更新客户端的设计更改?

我正在使用 xPages 构建网页,并且不断更改脚本和设计,这包括服务器和客户端 javascript、样式表和图像更改。

每次我更改 javascript 或样式表时,我都希望在 webbrowser 中查看我的更改,并且我还希望我的用户在访问网页时获得最新的更改。

我知道我可以使用 Shift-Reload 或 CTRL-reload 并清除我的网络浏览器缓存。而且我也知道我可以更改对象的到期日期,但我想要一种更顺畅、更好控制的方式来做到这一点。

寻找任何类型的最佳实践来做到这一点。

谢谢

托马斯

0 投票
1 回答
929 浏览

c# - System.Runtime.Caching Absolute Expiration 按设计驱逐数据,但如何实现非驱逐过期数据策略?

我在 MVC3 应用程序中使用 System.Runtime.Caching MemoryCache 来缓存很少更改但经常访问的数据。我将absoluteExpiration设置为30分钟。这很好用。每隔 30 分钟,应用程序会使缓存中的数据过期,然后驱逐数据。

下次查询数据时,系统会从数据库中重新加载缓存。

但是,如果缓存被驱逐后数据库暂时不可用怎么办?这将导致 MemoryCache 或数据库中没有可用的记录。理想的做法是使缓存过期,但在确定可以重新加载数据之前不要驱逐数据。如果我无法从数据库重新加载数据,我想将缓存的过期时间延长 5 分钟左右,然后再试一次。最终数据库将恢复。

策略是我宁愿拥有稍微陈旧的数据,也不愿根本没有数据。

我的问题是我应该如何使用 System.Runtime.Caching 创建这样的缓存策略。我没有看到允许我在到期时防止被驱逐的事件。有任何想法吗?

0 投票
2 回答
2554 浏览

android - URLConnection.setUseCaches(true) - 缓存什么时候过期?

我有一个简单的问题:如果我在从 Web 加载某些内容时使用 URLConnection.setUseCaches(true),那么这些缓存文件什么时候会过期?我正在为 android 开发,但它几乎没有任何区别......那么缓存文件何时会从 SD 卡中删除?

0 投票
1 回答
348 浏览

silverlight - 尝试以编程方式使 HTTP 响应标头过期

我们的团队正在构建一个带有 Silverlight 模块的 C# 项目。我们使用 IIS 7 部署到 Windows 2008。我正在尝试立即以编程方式使与名为 ClientBin 的文件夹关联的 HTTP 响应标头过期。我知道如何通过 IIS 管理器手动完成。(基本上,我会转到感兴趣的文件夹或文件的 HTTP Response Headers 部分,然后使用“Set Common Headers....”立即过期。)但是,我们将重新部署到 IIS 中次,我想确保它以编程方式完成,因为一直保持重新配置是一件令人头疼的事情。

我应该从项目的 C# 代码中执行此操作,还是使用 WMI 脚本执行此操作更好?

0 投票
1 回答
22298 浏览

redis - 我的 redis 密钥不会过期

当生存时间达到 0 时,我的 redis 服务器不会删除密钥。

这是一个示例代码:

如果我检查 redis 返回的信息,它会说 0 个密钥已过期。

任何想法?

谢谢。