Questions tagged «caching»

缓存是一种用于在本地临时存储(缓存)数据以减少对远距离存储的数据的访问时间的机制。对于CPU /磁盘/ Web浏览,请使用相关标签(cpu-cache,diskcache等)

9
寻找简单的Java内存缓存
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 改善这个问题 我正在寻找一个具有良好并发性的简单Java内存缓存(因此LinkedHashMap不够好),并且可以定期将其序列化到磁盘。 我需要但很难找到的一个功能是一种“窥视”对象的方法。我的意思是从缓存中检索对象,而不会导致缓存对对象的保留时间超过其应有的保留时间。 更新:我忽略提到的另一个要求是,我需要能够就地修改缓存的对象(它们包含浮点数组)。 谁能提供任何建议?
102 java  caching 

11
如何清除MemoryCache?
我已经使用MemoryCache类创建了一个缓存。我向其中添加了一些项目,但是当我需要重新加载缓存时,我想先清除它。最快的方法是什么?我应该遍历所有项目并一次删除一个项目,还是有更好的方法?

7
轻量级Java对象缓存API
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 题 我正在寻找Java内存对象缓存API。有什么建议吗?您过去使用过什么解决方案? 当前 现在,我只是在使用地图: Map cache = new HashMap<String, Object>(); cache.put("key", value); 要求 我需要扩展缓存以包括以下基本功能: 最大尺寸 生存时间 但是,我不需要更复杂的功能,例如: 来自多个进程的访问(缓存服务器) 持久性(到磁盘) 意见建议 内存中缓存: Guava CacheBuilder-活动开发。请参阅此演示文稿。 LRUMap-通过API配置。没有TTL。并非专门用于缓存。 whirlycache -XML配置。邮件列表。上次更新时间:2006年。 cache4j -XML配置。俄语文档。上次更新时间:2006年。 企业缓存: JCS-属性配置。广泛的文档。 Ehcache -XML配置。广泛的文档。到目前为止,根据Google的点击量最受欢迎。
99 java  caching 

15
Visual Studio从某处检索到项目的错误路径
Visual Studio(可能还有TFS)以某种方式(我认为也许在源代码控制合并期间)对解决方案中的项目路径感到困惑。 它认为它在这里(为简单起见,示例路径): C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj 而实际上,项目文件位于此处: C:\My Projects\ExampleSolution\ExampleProjectCorrect\ExampleProjectCorrect.csproj 我一生都无法识别正确的位置。我努力了: 从正确的位置删除并重新添加项目。出现一条错误消息说The project file at C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj could not be found。 手动编辑.sln文件,以确保所有引用ExampleProjectCorrect.csproj都具有正确的路径。 在解决方案目录中的文件中查找正确路径和错误路径,以尝试查找Studio隐藏错误路径的位置。 删除VS和TFS的缓存目录 我要拔头发是因为我无法重新创建该解决方案,因为该解决方案几乎没有区别,其中有100个项目,并且与其他几位开发人员一起致力于源代码控制。 任何人都可以向我指出正确的方向,以指示错误的路径存储在何处和/或如何重置它,以便该死的东西可以正确加载?

6
在javascript /浏览器中缓存jquery ajax响应
我想在javascript /浏览器中启用ajax响应的缓存。 从jquery.ajax docs: 默认情况下,始终发出请求,但浏览器可能会在其缓存之外提供结果。要禁止使用缓存的结果,请将cache设置为false。如果自上次请求以来未修改资产,则要导致请求报告失败,请将ifModified设置为true。 但是,这些地址都没有强制缓存。 动机: 我想$.ajax({...})在我的初始化函数中放入调用,其中一些请求相同的URL。有时我需要调用这些初始化函数之一,有时我调用多个初始化函数。 因此,如果该特定的URL已经加载,我想最小化对服务器的请求。 我可以推出自己的解决方案(有些困难!),但是我想知道是否有标准的方法可以做到这一点。

2
Chrome内存缓存与磁盘缓存
我对Chrome内存缓存与磁盘缓存感兴趣吗?我使用webpack,常见的块插件,并使用chunkhash生成我的所有文件。 内存与磁盘缓存有何不同?当我重新加载页面时,某些文件是从内存缓存中加载的,而某些是从磁盘缓存中加载的(从内存缓存中的bundle.js和image.jpg以及从磁盘缓存中的css)。有时情况有所不同。我们可以控制它,选择从哪里加载什么?内存缓存似乎比磁盘缓存快。

6
IIS7缓存控制
我正在尝试做一些我认为非常简单的事情。获取IIS 7,以告知客户端他们可以在一定时间内(例如24小时)缓存我站点上的所有图像。 我已经尝试了http://www.galcho.com/Blog/post/2008/02/27/IIS7-How-to-set-cache-control-for-static-content.aspx上的步骤,但无济于事。我仍然收到返回到304s的请求到服务器。 有人有办法吗?我有一个图形密集的网站,每当他们请求页面时,我的用户(我的服务器)都会受到重击。奇怪的是,这些图像似乎在Firebug中显示“ Cache-Control private,max-age = 3600”,但是当我按F5键时浏览器仍在请求它们。
95 asp.net  iis  caching  iis-7 

4
“ Vary:接受” HTTP标头的功能是什么?
我使用PHP生成动态网页。如以下教程所述(请参见下面的链接),当$ _SERVER ['HTTP_ACCEPT']允许时,XHTML文档的MIME类型应为“ application / xhtml + xml”。由于可以使用2个不同的MIME(“ application / xhtml + xml”和“ text / html”)为同一页面提供服务,因此应将“ Vary” HTTP标头设置为“ Accept”。这将有助于代理上的缓存。 链接:http: //keystonewebsites.com/articles/mime_type.php 现在我不确定以下含义:header('Vary:Accept'); 我不确定'Vary:Accept'到底会做什么... 我发现的唯一解释是: 在Content-Type标头之后,将发送一个Vary标头(如果我理解正确的话),以告知中间高速缓存(如代理服务器)该文档的内容类型根据请求文档的客户端的功能而有所不同。 http://www.456bereastreet.com/archive/200408/content_negotiation/ 任何人都可以给我这个标头的“真实”解释(带有该值)。我想我了解以下信息:Vary:Accept-Encoding,其中代理上的缓存可以基于所服务页面的编码,但是我不明白:Vary:Accept
93 http  caching  proxy 

5
回写与直写式缓存?
我的理解是,这两种方法之间的主要区别在于,在“直写”方法中,数据会立即通过高速缓存写入主内存,而在“写回”中,数据是在“较后的时间”内写入的。 我们仍然需要在“延迟时间内”等待内存,因此“直写”的好处是什么?

5
NodeJS / express:缓存和304状态代码
重新加载使用express创建的网站时,使用Safari(而不是使用Chrome)会显示空白页,因为NodeJS服务器向我发送了304状态代码。 如何解决呢? 当然,这也可能只是Safari的问题,但实际上它可以在所有其他网站上正常工作,因此它也必须是我的NodeJS服务器上的问题。 为了生成页面,我将Jade与结合使用res.render。 更新:似乎发生此问题,因为Safari'cache-control': 'max-age=0'在重新加载时发送。 更新2:我现在有一个解决方法,但是有更好的解决方案吗?解决方法: app.get('/:language(' + content.languageSelector + ')/:page', function (req, res) { // Disable caching for content files res.header("Cache-Control", "no-cache, no-store, must-revalidate"); res.header("Pragma", "no-cache"); res.header("Expires", 0); // rendering stuff here… } 更新3: 因此,完整的代码部分当前为: app.get('/:language(' + content.languageSelector + ')/:page', pageHandle); function pageHandle (req, res) { var language …

4
什么时候以及如何使用休眠二级缓存?
我无法理解休眠何时进入二级缓存以及何时使缓存失效。 这是我目前所了解的: 第二级缓存在会话之间存储实体,作用域为SessionFactory 您必须告诉要缓存的实体,默认情况下不会缓存任何实体 查询缓存将查询结果存储在缓存中。 我不明白的是 休眠何时会命中此缓存? 假设我已经设置了二级缓存,但没有设置查询缓存。我想缓存我的客户,其中有50000。我可以通过哪些方式从缓存中检索客户? 我想我可以通过缓存从id获取它们。那将是容易的,但也不值得缓存。但是,如果我想对所有客户进行一些计算,该怎么办?假设我要显示客户列表,那么我将如何访问他们? 如果禁用查询缓存,如何获得所有客户? 如果有人更新了一位客户,将会怎样? 客户会在缓存中失效还是所有客户都失效? 还是我认为缓存完全错误?在这种情况下,更适合使用二级缓存?休眠文档根本不清楚高速缓存实际上是如何工作的。只有有关如何进行设置的说明。 更新: 因此,我开始理解二级缓存(不带查询缓存)对于按ID加载数据非常有用。例如,我有一个用户对象,我想检查Web应用程序中每个请求的权限。通过在二级缓存中缓存用户来减少数据库访问是否是一个好案例?就像我将用户ID存储在会话中或在需要检查权限的任何地方一样,我将通过用户的ID加载用户并检查权限。

6
是否可以防止NSURLRequest缓存数据或在请求后删除缓存的数据?
在iPhone上,我使用NSURLRequest对大量数据执行HTTP请求。对象分配高峰,我相应地分配数据。完成数据处理后,我会相应地释放它-但是仪器不会显示任何已释放的数据! 我的理论是默认情况下会缓存HTTP请求,但是-我不希望我的iPhone应用程序缓存此数据。 有没有一种方法可以在请求后清除此缓存,或者首先阻止任何数据缓存? 我试过使用所有记录的缓存策略,如下所示: NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; theRequest.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData; 但是似乎没有什么可以释放内存!


6
在PHP中如何清除WSDL缓存?
通过php_info()WSDL缓存所在的位置(/tmp),但我不一定知道删除以WSDL开头的所有文件是否安全。 是的,我应该能够从中删除所有内容/tmp,但是我不知道如果删除所有WSDL文件,这还会影响什么。
88 php  soap  caching  wsdl 

7
MemoryCache不遵循配置中的内存限制
我正在使用应用程序中的.NET 4.0 MemoryCache类,并试图限制最大缓存大小,但是在我的测试中,似乎没有缓存实际上在遵守限制。 根据MSDN,我使用的设置应该限制​​缓存大小: CacheMemoryLimitMegabytes:对象实例可以增长到的最大内存大小(以兆字节为单位)。” PhysicalMemoryLimitPercentage: “高速缓存可以使用的物理内存的百分比,表示为1到100之间的整数。默认值为零,这表示MemoryCache实例根据安装在其上的内存量来管理自己的内存1。电脑。” 1.这并不完全正确-低于4的任何值都将被忽略并替换为4。 我知道这些值是近似值,而不是硬性限制,因为清除缓存的线程每x秒触发一次,并且还取决于轮询间隔和其他未记录的变量。但是,即使考虑到这些差异,当在测试应用程序中将CacheMemoryLimitMegabytes 和PhysicalMemoryLimitPercentage一起设置或单独设置后,从缓存中逐出第一项时,我仍然看到非常不一致的缓存大小。为了确保我每次测试都跑了10次并计算出平均值。 这些是在具有3GB RAM的32位Windows 7 PC上测试以下示例代码的结果。在第一次调用CacheItemRemoved()之后获取缓存的大小在每个测试。(我知道缓存的实际大小会大于此大小) MemLimitMB MemLimitPct AVG Cache MB on first expiry 1 NA 84 2 NA 84 3 NA 84 6 NA 84 NA 1 84 NA 4 84 NA 10 84 10 20 81 10 30 81 10 …
87 c#  .net  caching  memorycache 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.