Sto utilizzando il seguente caching di basso livello per le cinque più recenti articoli di notizie a mia applicazione Rails:scadere manualmente cache di basso livello
@recent_news = Rails.cache.fetch("recent_news", :expires_in => 1.hour) do
News.order("created_at desc").limit(5)
end
C'è un modo per mantenere questa query nella cache fino a quando una nuova notizia l'articolo è stato creato? Stavo pensando di scadenza manualmente la cache utilizzando un osservatore, ma non ero sicuro se ci fosse un modo per fare questo in realtà, ad esempio:
class NewsObserver < ActiveRecord::Observer
def after_create
#expire recent_news cache
end
end
Vorrei anche espandere il comando di recupero per includere: '(race_condition_ttl: 10)' Questo recupererà un nuovo set per le notizie @recent eseguendo una query quando scade il tempo di scadenza. Invece di eseguire molte query quando scade prima che la cache sia impostata. – Shadoath