-
Notifications
You must be signed in to change notification settings - Fork 3
CachedModels provides to your ActiveRecord objects a transparent approach to use ActiveSupport caching mechanism.
License
jodosha/cached-models
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
= CachedModels CachedModels provides to your models a transparent approach to use Rails internal caching mechanism. Check for news and tutorials at the {project home page}[http://www.lucaguidi.com/pages/cached_models]. = Usage Using Memcached and Rails 2.2.0 Make sure to configure your current environment with: config.cache_classes = true config.action_controller.perform_caching = true config.cache_store = :mem_cache_store class Project < ActiveRecord::Base has_many :developers, :cached => true has_many :tickets, :cached => true has_many :recent_tickets, :limit => 5, :order => 'id DESC', :cached => true end class Developer < ActiveRecord::Base belongs_to :project, :cached => true end Example 1 project.developers # Database fetch and automatic cache storing developer = project.developers.last developer.update_attributes :first_name => 'Luca' # Database update and cache expiration for project cache Example 2 project2.developers # Database fetch and automatic cache storing project2.developers << developer # Database update and cache renewal for both project and project2 caches Example 3 project.tickets # Database fetch and automatic cache storing ticket = project.recent_tickets.first ticket.update_attributes :state => 'solved' # Database update and cache expiration for both tickets and recent_tickets entries = Install There are three ways to install CachedModels Gemified plugin: environment.rb Rails::Initializer.run do |config| config.gem 'cached-models' end $ (sudo) rake gems:install $ rake gems:unpack Rails plugin: $ ./script/plugin install git://github.com/jodosha/cached-models.git Standalone: $ (sudo) gem install cached-models in your project: require 'rubygems' require 'activerecord' require 'cached-models' ActiveRecord::Base.rails_cache = ActiveSupport::Cache.lookup_store(:mem_cache_store, 'localhost') = Test Make sure your current store is Memcached = Contribute * Check out the code and test it: $ git clone git://github.com/jodosha/cached-models.git $ rake cached_models * Create a ticket to the {Sushistar Lighthouse page}[http://sushistar.lighthouseapp.com] * Create a patch and add as attachment to the ticket. Copyright (c) 2008 Luca Guidi, released under the MIT license
About
CachedModels provides to your ActiveRecord objects a transparent approach to use ActiveSupport caching mechanism.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published