给新闻添加页面缓存、以及更新时缓存清除:
class NewsController < ApplicationController
caches_page :show, :index
cache_sweeper :news_sweeper, :only => [:create, :update, :destroy]
def index
list
render :action => 'list'
end
def show
@news = News.find(params[:id])
render :layout=>"main"
end
def create
end
def update
end
def destroy
News.find(params[:id]).destroy
redirect_to :action => 'list'
end
end
在environment中配置:
config.active_record.observers = :news_sweeper
定义NewsSweeper类:
class NewsSweeper < ActionController::Caching::Sweeper
observe News
def after_save(news)
clear_news_cache(news)
end
def after_destroy(news)
clear_news_cache(news)
end
def after_update(news)
clear_news_cache(news)
end
def clear_news_cache(news)
expire_page :controller => :news, :action => :index
expire_page :controller => :news, :action => :show, :id=>news
expire_page :controller => :main, :action => :news, :id=>news
end
end
相关技术连接参考:
[/url]http://www.ibm.com/developerworks/cn/web/wa-rails1/
分享到:
相关推荐
在您的类中使用has_cache提供了一个cached方法,该方法允许自动缓存通常在类或类的实例上可用的方法的结果。 它通过从调用cached的位置推断密钥,减轻了创建和跟踪密钥的麻烦,就像使用标准缓存存储接口一样。 用法...
这样做的问题是,在生产中,我们经常有多个Rails实例在运行,并且每个实例都会有自己的缓存存储,这并不是对资源的充分利用。 文件存储适用于较小的应用程序,但是效率不高,因为读取和写入硬盘驱动器相对较慢。 ...
模型缓存ModelCache 是一个简单的 Rails 缓存插件,使用memcached 。 它为您的模型提供缓存功能,允许: 基于通用键(ActiveRecord cache_key在幕后添加)在模型实例方法中缓存代码块缓存您的实例方法,可选择使用...
包含的rake任务和Ruby方法可用于获取有关Postgres实例的信息,这在分析性能问题时可能很有用。 这包括有关锁,索引使用,缓冲区高速缓存命中率和真空统计信息的信息。 Ruby API使开发人员可以轻松地将该工具集成到...
整体而言,全书既有直观的实例,又有深入的分析,同时还涵盖了web应用开发中各方面的相关知识,堪称一部内容全面而又深入浅出的佳作。 图书目录 第1章 简介 1 1.1 Rails是敏捷的 2 1.2 读你所需 3 1.3 致谢 5 第1...
将捆绑程序gem缓存到Docker卷中,该卷在构建和Gemfile更改之间持续存在 运行Capybara测试的Selenium Chrome独立实例,以及与测试浏览器会话进行交互的VNC连接 这些洞察力需要一段时间才能掌握-因此,我分享了一些...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
该库不提供任何与缓存有关的内容,仅适用于Rails应用程序。 要获得其他框架或对缓存的直接支持,请查看 。 安装 对于Rails 3+,将其添加到您的Gemfile 。 gem 'redis-session-store' 配置 有关有效选项的列表,请...
将设置为您的Rails缓存存储区。 # config/application.rb config . cache_store = :dalli_store 在您选择的路线上安装Dalli UI # config/routes.rb mount Dalli :: Ui :: Engine , at : "dalli" 在生产环境中...
使用请求子域来交换数据库,Rails缓存(首选项),图像路径。安装添加到您的Gemfile : gem 'spree_shared' , github : 'spree-contrib/spree_shared' , branch : 'master' 确保您的config/database.yml具有有效的...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
安装将其添加到您的Gemfile中: gem 'faraday-http-cache'用法和配置您必须使用您想要的法拉第实例中的中间件,以及合适的store来缓存响应。 您可以使用带符号的新快捷方式或传递中间件类client = Faraday . new do ...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...