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".


  1. Instalar memcached en Ubuntu

    apt-get install memcached



  2. Instalar la ruby gem

    sudo gem install cached_model



  3. 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'




  4. 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:

Etiquetas: , , ,


Recommend Me


XING
View Sergio Espeja's profile on LinkedIn