在网站上运行YSlow插件之后,我看到其中的一个build议是为脚本,样式表和图片添加更多未来的过期头文件。 我想这样做,有没有人有这方面的经验? 我正在使用IIS 7,我从微软读了一篇文章,但对asp页面或图片禁用caching不感兴趣,实际上我想强制caching静态内容。 另外,代码中不存在理想情况,但是在Web服务器configuration中。 那么,我需要采取哪些步骤才能将每个图像,JavaScript文件和样式表都caching起来?
在Stack Overflow上的一个问题的答案 (见下文)给了我一个伟大的小软件的想法,这对任何地方的编码人员都是无价的。 我想象的是RAM驱动软件,但有一个关键的区别 – 它会镜像在我的硬盘驱动器上的真实文件夹。 更具体地说 – 包含我目前正在处理的项目的文件夹。 这样,任何构build几乎是瞬间的(或者至less快几个数量级)。 RAM驱动器将仅使用空闲资源在后台将其内容与硬盘驱动器同步。 一个快速的谷歌search没有透露,但也许我不知道如何谷歌。 也许有人知道这样的软件? 最好免费,但合理的费用也可以。 补充:一些解决scheme已经提出,我刚开始丢弃了。 他们会(没有特定的顺序): 购买更快的硬盘驱动器( SSD可能或10K RPM)。 我不想要硬件解决scheme。 不仅软件有可能会更便宜(免费软件,任何人),但它也可以用于硬件修改是不受欢迎的环境,如果不是不可能 – 比如在办公室。 让OS / HDD做caching – 它更好地知道如何使用你的空闲RAM。 操作系统/硬盘有通用的cachingalgorithmcaching一切,并试图预测哪些数据将来最需要的。 他们不知道,我的优先项目是我的项目文件夹。 而且大家都很清楚,反正他们并没有真正caching起来。 ;) 有大量的RAM驱动器; 使用其中之一。 对不起,这是鲁莽的。 每当有空闲时间时,我需要将数据同步回HDD。 在停电的情况下,我可以承受失去最后五分钟的工作,但不是自从我上次登记以来的一切。 新增2:想出了一个想法 – 使用一个普通的RAM驱动器加上一个后台文件夹同步器(但我的意思是背景 )。 有没有这样的事情? 补充3:有趣。 我只是在工作中尝试了一个简单的RAM驱动器。 重build时间从大约14秒降到大约7秒(不错),但增量构build仍然在5秒左右 – 就像硬盘一样。 任何想法为什么? 它使用aspnet_compiler和aspnet_merge 。 也许他们在其他地方使用其他临时文件? 补充4:哦,不错的新的答案! :)好的,我为你们所有的反对者提供了一些信息。 🙂 这个想法的主要原因之一,不是上述软件(14秒build造时间),而是另一个,我当时没有访问。 […]
我有一个问题,我的ASP.NET控件无法从代码背后的代码引用。 我发现堆栈溢出问题的解决schemeASP.NET控件无法在Visual Studio 2008中的代码隐藏中引用 。 但我似乎无法find我的Visual Studiocaching来清除它。 我在Windows Vista上使用Visual Studio 2005。
在Dmitry Vyukov用C ++编写的优秀有界mpmc队列见: http ://www.1024cores.net/home/lock-free-algorithms/queues/bounded-mpmcqueue 他添加了一些填充variables。 我认为这是为了使其与高速caching行alignment以达到性能。 我有一些疑问。 为什么这样做呢? 这是一个便携式的方法,将始终工作 在什么情况下最好使用__attribute__ ((aligned (64)))来代替。 为什么在缓冲区指针帮助性能之前填充? 是不是只是加载到caching的指针,所以它只是一个指针的大小? static size_t const cacheline_size = 64; typedef char cacheline_pad_t [cacheline_size]; cacheline_pad_t pad0_; cell_t* const buffer_; size_t const buffer_mask_; cacheline_pad_t pad1_; std::atomic<size_t> enqueue_pos_; cacheline_pad_t pad2_; std::atomic<size_t> dequeue_pos_; cacheline_pad_t pad3_; 这个概念是否在gcc的c代码下工作?
我最近问了一个关于在ASP.NET MVC WebAPI应用程序中caching应用程序数据的问题,这引发了一个新的问题。 ASP.NET中可用的不同caching方法有哪些优缺点? 我来了: 内存caching http://msdn.microsoft.com/en-us/library/system.runtime.caching.memorycache.aspx 使用静态成员variables: private static Northwind.SuppliersDataTable suppliers = null; 申请状态: HttpContext.Current.Application["key"] ="Value" 数据caching: HttpRuntime.Cache.Insert( /* key */ "key", /* value */ "value", /* dependencies */ null, /* absoluteExpiration */ Cache.NoAbsoluteExpiration, /* slidingExpiration */ Cache.NoSlidingExpiration, /* priority */ CacheItemPriority.NotRemovable, /* onRemoveCallback */ null); 我相信还有其他的,我知道他们都技术上存储在内存中的数据…所以不知道我应该用什么ASP.NET MVC webapi? 我以前的问题: caching内存中的应用程序数据:MVC Web API
C#4.0dynamic用法有一些奇怪的现象: using System; class Program { public void Baz() { Console.WriteLine("Baz1"); } static void CallBaz(dynamic x) { x.Baz(); } static void Main(string[] args) { dynamic a = new Program(); dynamic b = new { Baz = new Action(() => Console.WriteLine("Baz2")) }; CallBaz(a); // ok CallBaz(b); // ok CallBaz(a); // Unhandled Exception: // Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: // The […]
我收到了一些自动发送的电子邮件,这些电子邮件是在我的网站注册完成后发送的。 直到最近,他们工作得很好。 现在Google的新系统正在重写图像并将其存储在caching中 (据说) 然而,谷歌新的重写我的图像链接是完全打破他们,给500错误和一个破碎的链接图像。 让我说我正常的图像url是: http://www.mysite.comhttp://img.dovov.compic1.jpg Google正在将其改写为: https://ci5.googleusercontent.com/proxy/vI79kajdUGm6Wk-fjyicDLjZbCB1w9NfkoZ-zQFOB2OpJ1ILmSvfvHmE56r72us5mIuIXCFiO3V8rgkZOjfhghTH0R07BbcQy5g=s0-d-e1-ft#http://www.mysite.comhttp://img.dovov.compic1.jpg 但是,该URL没有任何内容。 所以,无论是由Google创build的链接有问题,还是图片只是没有上传到googleusercontent服务器,但我不知道如何解决这个问题。 我使用PHP, phpmailer库和Amazon EC2上的Ubuntu服务器,但我不知道这是与问题有关。
我经常听到有人遇到了性能问题x,他们通过caching解决了这个问题。 或者,在你的程序代码中如何做x,y,z会伤害你的caching能力。 即使在最新的播客之一,杰夫·阿特伍德谈到如何caching某些价值的快速检索。 “caching”和“caching”这两个词似乎有些模棱两可,导致我在不同的情况下对它的含义感到困惑。 无论你是指应用程序或数据库caching,CPU等,以及这意味着什么。 什么是caching,什么是不同的types? 从上下文中,我可以了解它,将经常检索的值存储到主内存中,并快速查看它的访问权限。 但是,究竟是什么呢? 这个词似乎被用在许多不同的上下文中(cpu,数据库,应用程序等),而且我真的希望清除它。 在您的应用程序caching如何工作与数据库caching之间有区别吗? 当有人说他们发现了一段会伤害caching的代码,并在修复之后,它提高了他们的应用程序的速度,他们在说什么? 程序的caching是自动完成的吗? 你如何让值caching在你的程序中? 我经常阅读本网站的用户说,他们在应用程序中caching了一个价值,我坐在这里,想知道他们的意思。 另外,当有人谈论数据库caching时,这意味着什么? 这只是他们在数据库中启用的function吗? 你必须显式caching值或数据库select哪些caching给你? 我如何开始caching项目来提高性能? 你可以给我一些如何开始在应用程序中caching值的例子吗? 或者再次,这是已经完成的东西,在引擎盖下,我只需要以特定的方式写我的代码,以允许“caching”? 数据库caching怎么样,我该如何开始呢? 我听说过像memcache这样的东西。 这种types的工具是否需要在数据库中caching? 我期待着在应用程序和数据库之间caching区别,它们是如何使用以及如何在两种情况下实现的。
我有一个JavaScript资源,有可能随时编辑。 一旦它被编辑,我会希望它传播到用户的浏览器相当快(也许15分钟左右),但是,这个资源正在编辑的频率是less之又less(可能是2个月)。 我宁愿资源caching在浏览器中,因为它会经常检索,但我也希望caching在半定期的间隔在浏览器上重置。 我知道我可以在请求资源时传递一个无caching头,但是我想知道如果我没有通过no-cache,caching会自动在浏览器上自动重置。 我想这将是独立的每个浏览器,但我不知道。 我试图谷歌这一点,但我发现的大部分命中是关于清除浏览器的caching…这不是我所期待的。
或者,换句话说,SQL Server 2012的SqlStudio.bin在哪里? 看起来这个其他的SO问题似乎并不在预期之中。