Cachear objetos del modelo en Ruby on Rails con Memcached en Ubuntu
Cachear objetos del modelo en Ruby on Rails es muy fácil utilizando CachedModel, que permite cachear los objetos de nuestra aplicación Rails que recuperamos uno a uno. Es decir, acelera consultas del tipo Modelo.find(:first) o Modelo.find(id).Para usarlo debemos instalar memcached y hacer que nuestras clases del modelo extiendan de "CachedModel" en lugar de "ActiveRecord::Base".
- Instalar memcached en Ubuntu
apt-get install memcached - Instalar la ruby gem
sudo gem install cached_model - Configurar nuestro proyecto rails
Poner la siguiente linea con el nombre de nuestro proyecto en el archivo config/environment.rb
# Conf. CachedModel
require 'cached_model'
memcache_options = {
:c_threshold => 10_000,
:compression => true,
:debug => false,
:namespace => 'NOMBRE_DE_NUESTRO_PROYECTO_RAILS',
:readonly => false,
:urlencode => false
}
CACHE = MemCache.new memcache_options
CACHE.servers = 'localhost:11211' - Cachear las clases
Substituir en cada clase del modelo que nos interese cachear donde pone "ActiveRecord::Base" por "CachedModel"
Ejemplo:
class MiClase < CachedModel
end
Enlaces:
- Página de CachedModel: http://dev.robotcoop.com/Libraries/cached_model/
- Página de memcached: memcached
Etiquetas: rails, ruby, RubyOnRails, ubuntu
0 Comentarios (Publicar un comentario)