`
CaiDeHen
  • 浏览: 95942 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

#90 Fragment Caching

阅读更多
Sometimes you only want to cache a section of a page instead of the entire page. Fragment caching is the answer as shown in this episode.
# products_controller.rb
cache_sweeper :product_sweeper, :only => [:create, :update, :destroy]

# models/product.rb
class Product < ActiveRecord::Base
  def self.find_recent
    find(:all, :order => 'released_at desc', :limit => 10)
  end
end

# config/environments/development.rb
config.action_controller.perform_caching = true

# config/environment.rb
config.load_paths << "#{RAILS_ROOT}/app/sweepers"

# sweepers/product_sweeper.rb
class ProductSweeper < ActionController::Caching::Sweeper
  observe Product
  
  def after_save(product)
    expire_cache(product)
  end
  
  def after_destroy(product)
    expire_cache(product)
  end
  
  def expire_cache(product)
    expire_fragment 'recent_products'
  end
end

<% cache 'recent_products' do %>
<div id="recent_products">
  <h2>Recent Products</h2>
  <ul>
  <% for product in Product.find_recent %>
    <li><%= link_to h(product.name), product %></li>
  <% end %>
  </ul>
</div>
<% end %>
分享到:
评论

相关推荐

    ASP.NET 2.0 Caching

    本文将详细介绍ASP.NET 2.0中的几种缓存技术,包括输出缓存(Output Caching)、片段缓存(Fragment Caching)、数据缓存(Data Caching)以及SQL缓存(SQL Caching),并探讨它们的应用场景和技术细节。 #### 二、输出缓存...

    middleman-fragment-caching:中间人片段缓存扩展,如Rails

    安装在Gemfile上添加以下行: gem 'middleman-fragment-caching' , '~&gt; 0.0.1' 运行捆绑器: $ bundle用法激活扩展,在config.rb上添加以下代码activate :middleman_fragment_caching 在您的应用视图中: &lt;...

    asp.net高级教程 PPT

    包括Page Output Cache、Fragment Caching、Data Caching等策略。Page Output Cache将整个页面或者页面的一部分存储在内存中,减少重复生成;Fragment Caching针对页面特定区域进行缓存;Data Caching则用于缓存...

    asp.net缓存技术快速入门幻灯片

    - 页面片段缓存(Page Fragment Caching):针对页面中变化较少的部分进行单独缓存,进一步提高页面加载速度。 - SQL缓存依赖(SQL Cache Dependency):通过监听SQL Server中的数据变化来自动更新缓存中的数据。 - **...

    ASP .NET 2.0站点编程指南

    同时,框架提供了多种缓存策略,如Output Caching和Fragment Caching,可以显著提高Web应用程序的响应速度和性能。 ### 结论 《ASP .NET 2.0站点编程指南》深入浅出地讲解了ASP.NET 2.0框架下的网站开发技术,涵盖...

    高仿微信主界面

    2. **智能缓存(Smart Caching)**:虽然我们不预先加载`Fragment`,但可以考虑在`Fragment`被滑出视图后不立即销毁它们,而是将其保留在内存中,以备用户再次滑回时快速恢复。这种策略可以通过重写`...

    《21天学通ASP[1]NET》源代码15-17章

    此外,缓存策略是提高Web应用性能的重要手段,包括Output Cache、Fragment Caching和Data Caching,可以帮助减少服务器负载,加快页面响应速度。 这些章节的学习,对于掌握C#编程语言在ASP.NET平台上的应用尤为关键...

    ASP.NET 2.0快速入门(5):ASP.NET 2.0 缓存技术

    2. **部分页面缓存(Fragment Caching)**:在大型页面中,可能只有某些部分是经常变化的,这时可以使用`&lt;asp:UpdatePanel&gt;`控件或`HttpHandler`实现局部缓存,只更新页面的特定区域。 3. **数据缓存(Data Caching...

    举例理解Ruby on Rails的页面缓存机制

    - **段缓存(Fragment caching)**:在页面中只缓存部分静态内容,动态部分依然由 Rails 处理。 - **Ajax 和 JavaScript**:先加载页面的基本内容,然后通过 JavaScript 和 Ajax 请求动态填充用户相关的部分。 - ...

    ASP.NET v2.0 入门50例源码 .

    源码可能包含如何使用Page Output Cache、Fragment Caching或Data Caching。 9. **配置与部署** ASP.NET v2.0 的配置文件(Web.config)提供了灵活的应用程序配置方式。源码可能涉及到配置文件的修改和部署过程。 ...

    asp.net程序开发范例宝典11

    包括Page Output Cache(页面输出缓存)、Fragment Caching(部分缓存)和Data Caching(数据缓存)。通过合理地使用缓存策略,可以减少对服务器资源的消耗,提高用户体验。 四、状态管理 在ASP.NET中,由于HTTP的...

    ASPNET35开发大全(21-29).rar

    2. **Fragment Caching**:部分缓存,只缓存页面的一部分。 3. **Application Cache**:应用程序级缓存,用于存储全局数据。 ### 第28章:ASP.NET 3.5状态管理 状态管理对于保持用户交互过程中的数据至关重要: 1...

    Ruby-ActionPack的Action缓存在Rails40中从核心移除

    Fragment Cache(也称为View Caching)则更为灵活,它允许开发者在视图层选择性地缓存部分视图,而不是整个页面。这种方法适用于那些只有部分内容会因用户或数据变化而变化的场景。通过在视图代码中插入`cache`或`...

    asp.net 3.5 - a beginner guide

    9. **Caching**:ASP.NET的缓存机制可以提高应用程序性能,通过学习如何使用Output Cache、Fragment Caching等,你可以优化网站的响应速度。 10. **安全性**:学习如何保护ASP.NET应用免受攻击,包括身份验证...

    ASP.NET技术精粹

    - 使用Output Cache、Fragment Caching和Data Caching来优化性能。 8. **安全性** - 验证和授权:Forms Authentication、Windows Authentication、Role-based Authorization。 - 跨站脚本攻击(XSS)和跨站请求...

    MCP 70-505题库资源的一些NewBlood

    5. **ASP.NET的缓存机制**:了解如何使用Output Cache、Fragment Caching以及Application Caching来优化性能。 6. **安全性**:理解身份验证和授权的概念,包括Windows身份验证、Forms身份验证、角色管理以及如何...

    asp.net面试题

    7. **缓存策略**:熟悉ASP.NET的缓存机制,如Output Cache、Fragment Caching和Data Caching,以及如何优化性能。 8. **部署与配置**:掌握IIS(Internet Information Services)的配置和ASP.NET应用程序的部署,...

Global site tag (gtag.js) - Google Analytics