Proyecto

General

Perfil

Correccion - Mejora #3792

Actualizado por Santiago Ramos hace más de 4 años

Intentar agilizar la respuesta de la aplicación usando un cache:

* Caché en memoria con persistencia
* Caché compartido para permitir su uso por varias instancias de la aplicación para un único dominio

La solución a probar es Redis usando el modo de bajo nivel.

<pre>

# app/models/gor_conf.rb
class GorConfig < ActiveRecord::Base
validates_uniqueness_of :name, message: _("Nombre de parámetro repetido."), case_sensitive: false
validates_presence_of :name, message: _("Parámetro") + " " + _("no puede estar vacío.")

after_update :flush_cache

def self.getValue param_name
Rails.cache.fetch("GorConfig/#{param_name}", expires_in: 24.hours) do
gc = GorConfig.find_by_name(param_name.to_s)
gc ? gc.value : nil
end
end

private

def flush_cache
Rails.cache.delete("GorConfig/#{self.name}")
end
end
</pre>

Atrás

Financiado por:

Desarrollado por:
Software libre forjado en: