问题标签 [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 投票
4 回答
842 浏览

java - 集合中的老化对象

我希望能够对集合中的对象进行老化。

例如,我可以将字符串放入 HashSet。

  1. 我想要将字符串放入 HashSet 时关联的时间戳。
  2. 我希望从 HashSet 中删除比时间 X 更早的字符串。
  3. 我希望能够说“触摸”一个字符串并将时间更新到它被插入到集合中的时间。

因此,我可以通过跟踪每个字符串来完成此操作,然后运行清理线程并从集合中清除字符串(如果它超过某个时间段)。

但是我正在寻找:

  1. 要么是一种聪明的方式来做到这一点。
  2. 一个现有的开源 Java 组件可以完成此任务。

谢谢。

0 投票
1 回答
1320 浏览

google-app-engine - Python App Engine 中的 Static_files 与 Static_dir 缓存过期标头

我正在使用 Google App Engine 1.7.2 / Python 2.7 并尝试添加静态文件的客户端缓存。

当我在 app.yaml 中指定 static_dir 时,缓存控制标头未设置。

但是,当我将规范切换到 static_files 时,如下所示,它确实被设置了。

还有人看到这个吗?我错过了什么吗?我的印象是 static_dir 和 static_files 如果像上面那样写是等价的。

谢谢!

0 投票
1 回答
398 浏览

java - 将居住时间添加到我的缓存中

我们如何为 LocalRegion1 或上面定义的缓存添加生存时间?我想每 24 小时完全刷新一次缓存并从服务器获取新数据。我使用本地缓存,它从服务器获取一些数据并在本地存储。

0 投票
1 回答
766 浏览

ruby-on-rails - 用于个性化新闻提要的 Rails 缓存技术

在有用户发布帖子的场景中,每个用户都有一个代表新闻提要的视图(很像登录的 Tumblr 帐户),并且每个帖子概述都有一个指向评论的链接,每个帖子都有一个评论计数器,什么是这里最好的缓存策略(在 Rails 4 堆栈上)?

假设有 5 个用户 ABCDE,每个用户都订阅了他们右边的 2 个用户(A 订阅了 B 和 C,B 订阅了 C 和 D 等),并且只有他们订阅的用户显示在他们的新闻提要视图。

编辑:

假设采用写时扇出方法,其中每个用户在 Redis 中都有一组唯一的(帖子 id),并且在每次post创建时,新帖子的 id 都会附加到帖子创建者的每个朋友的集合中. redis 集充当索引,并通过单个 SQL 查询获取用户的提要。

考虑到这一点,缓存每个提要应该是这种方法的问题:

  1. 在 redis 中检查设置(第一次命中)
  2. 写入@feed_arraymemcached
  3. 使用单个 SQL 命令获取帖子并保存到@feed
  4. 写入@feedmemcached
  5. redis中检查设置(第二次命中)
  6. 如果设置值匹配,则从 memcached@feed_array返回。否则在 memcached 中@feed新的 SQL 查询和覆盖@feed

这种方法意味着在遍历@postdiv 时可以轻松地缓存视图,但是如何处理评论计数呢?

0 投票
4 回答
6490 浏览

ruby-on-rails - Rails 4.0 expire_fragment/缓存过期不起作用

我一直在尝试使用 rails 的缓存功能,但我无法使某些缓存片段过期,尽管它们似乎已过期。使用rails教程站点中指出的“俄罗斯娃娃缓存”,我正在使用此配置

我使 release_controller.rb 控制器中的外部缓存过期,我使用 expire_fragment("all_available_releases") 使片段过期。我在控制器的每个更新、删除或添加条目的方法中都使用它。

这是 WEBrick 的日志,虽然过期片段被注册,但 5 行后过期片段被读取并使用,而它不应该。这个例子是在销毁调用之后。

我什至尝试使用Rails.cache.delete("all_available_releases")它也没有工作。

如果我从我的 html.erb 中删除<%cache "all_available_releases"%>(和一个<%end%>),则缓存工作正常,并且会在任何时候过期。

0 投票
1 回答
3278 浏览

.htaccess - Gzip 压缩和缓存过期不起作用

我已经在 .htaccess 文件中配置了缓存过期和 gzip 压缩,但根据 yslow chrome 扩展统计信息,它无法正常工作。

这是我的.htaccess

注意:我正在使用 Xampp

0 投票
0 回答
399 浏览

asp.net-mvc - 如何设置 httpexpires 和 cachecontrol 标头 web.config

早些时候我问过如何设置 httpexpires 和 cachecontrol 标头的问题

我想我找到了答案

现在我没有收到500 internal error图像请求。

但现在我有一个新问题

看起来如果我设置cacheControlMode="UseExpires"它将用作内容过期,httpExpires但如果我设置cacheControlMode="UseMaxAge"它将cacheControlMaxAge用作内容过期。所以仍然不清楚如何设置cacheControlMaxAgehttpExpires?可能吗?

0 投票
2 回答
2064 浏览

c# - 有什么方法可以在 asp.net 中设置过期标头而不在 IIS 6 配置管理器中进行更改

我需要在我的 Asp.net 代码中设置到期标头。有什么方法可以通过代码添加到期标头。?

我尝试在我的 asp 页面中添加以下代码

<% System.Web.HttpContext.Current.Response.AddHeader( "Cache-Control","no-cache"); System.Web.HttpContext.Current.Response.Expires = 0; System.Web.HttpContext.Current.Response.Cache.SetNoStore(); System.Web.HttpContext.Current.Response.AddHeader("Pragma", "no-cache");%>

<%@ OutputCache Duration="86400" Location="Client" VaryByParam="None" %>

并在我的 c# 页面中添加了以下内容...

Response.AddHeader("Expires", "Thu, 01 Dec 2014 16:00:00 GMT");


Response.Cache.SetCacheability(HttpCacheability.Public); Response.Cache.SetMaxAge(TimeSpan.FromSeconds(3600)); Response.Cache.SetExpires(DateTime.UtcNow.AddSeconds(3600));

并将其添加到 web,config 文件中

<clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />

0 投票
1 回答
532 浏览

ruby-on-rails - Rails fragment caching "expires_in" value is always recalculated

Does anyone know why rails seems to recalculate the value of "expires_in" each time a cached fragment is read?

EXAMPLE

If I check the logs I see that the usecase.minutesToNextRun method is called each time the cache fragment is read (which is quite expensive and slows down the app).

THEORY

Normally I'd expect rails to just calculate the :expires_in value once and then just compare this value (e.g. 5 minutes) to the current time (in pseudocode).

QUESTION

Does anyone have any hint/idea how I can prevent rails from recalculating the expiry time each time the fragment is read?

0 投票
1 回答
3876 浏览

.net - System.Runtime.Caching 中的 MemoryCache:项目不会过期

我目前尝试将项目插入 MemoryCache.Default 实例,该实例有效。但物品不会过期!轮询间隔默认设置为 2 分钟,没有对 MemoryCache 进行特定设置。

添加项目例程是这样的:

但是,这些项目在缓存中永不过期!我等了 10 多分钟,它们还在缓存中。主要目的是通过尝试每隔几秒钟处理一次查询来防止它们用查询淹没数据库。它们每隔几秒钟检查一次,但没有 SlidingExpiration。大约 3 分钟、5 分钟后应再次检查它们,因为最大延迟仍然是可以容忍的。

我不想在 XML 等代码之外进行任何配置。如果不可能,是否有一个很好的替代 MemoryCache 的方法?也许通过参数和属性使用数字/对象键和配置?