2011-01-26 69 views
1

我在asp.net mvc 2中制作web应用程序,这是某种相册。我将不得不动态制作和显示缩略图(不保存在磁盘上),我想将这些缩略图保存在缓存中。是否有可能在mvc2中做到这一点,以及如何?或者是,也许更好的缩略图保存到磁盘(虽然我想避免这种情况,因为应该有缩略图的动态设置大小选项)asp.net mvc2缩略图缓存

感谢,

回答

3

如果您只需要一些固定大小(3或4),那么生成文件并将它们保存在磁盘上会更好。

如果您确实需要动态大小(作为参数),那么最简单的解决方案将使用ASP .Net输出缓存。有OutputCacheAttribute(特殊行动过滤器)将其整合到ASP .Net MVC项目中。

+0

然后它看起来像我将需要保存到磁盘毕竟。谢谢 :) – 2011-01-26 18:57:29

2

那么静态资源,如图像通常由浏览器缓存,这可能是您可以使用的第一级缓存。由于您正在生成动态缩略图,因此您仍可以设置适当的缓存标题,以便这些缩略图可以由用户缓存。如果你想为所有用户共享一个缓存,那么你需要将它存储在服务器上。如果您不想将缩略图保存在磁盘上,则可以始终使用内置的缓存对象,但这会进入内存,并且可能会很快开始耗尽内存。当发生这种情况时,您可以使用memcached等提供商卸载缓存或将其保存在磁盘上。

+0

嗯,这个想法是在服务器上缓存缩略图,因为恐怕每次页面加载时重新生成这些缩略图都需要很长时间。感谢评论 – 2011-01-26 18:44:44