J'ai une application rails où j'implémente la mise en cache en utilisant memcached et dalli.Rails cache obtenir toutes les valeurs d'un hachage
je stocke les résultats dans ce hachage comme
Rails.cache.write("home_stays[#{home_stay['id']}]", home_stay, expires_in: 5.minutes)
Je peux chercher la valeur pour une famille d'accueil particulier en utilisant son identifiant. Ce que je ne comprends pas, c'est comment puis-je obtenir tous les homestays du cache.
Si j'exécute Rails.cache.fetch ("home_stays"), je reçois zéro.
Existe-t-il un moyen d'obtenir toutes les valeurs d'un hachage mis en cache dans les rails?
mise à jour: Selon la suggestion de Chakreshwar, j'ai ajouté le modèle suivant chez l'habitant.
def self.home_stay_cache
Rails.cache.fetch("all_home_stays",expires_in: 5.minutes) do
all
end
end
sur l'exécution HomeStay.home_stay_cache je me suit
Cache read: all_home_stays ({:expires_in=>300 seconds})
Cache generate: all_home_stays ({:expires_in=>300 seconds})
NameError: undefined local variable or method `all' for Homestay:class
Essayé cela et obtenu Cache r ead: all_home_stays ({: expires_in => 300 secondes}) Cache générer: all_home_stays ({: expires_in => 300 secondes}) NoMethodError: méthode non définie 'all 'pour # from (pry): 13: dans 'bloc in index ' –
RamanSM
Essayez la mise à jour –
Ne fonctionne pas! eu zéro. – RamanSM