2010-11-25 4 views
1

Dans mon application rails, je souhaite stocker une valeur de l'unité de travail dans memcached et la lire depuis le contrôleur d'application. Mais dans le travailleur je ne pouvais pas stocker la valeur comme ci-dessousComment stocker une valeur dans le magasin memcached à partir d'un opérateur de rails

cache_store.write('db_status','down') 

il dit, variable locale non définie ou méthode cache_store.

Comment puis-je configurer mon opérateur pour écrire dans le magasin memcache.

j'ai mis le magasin de cache comme ci-dessous

config.action_controller.cache_store = :mem_cache_store 

dans ma config environnements. Je dois aussi utiliser le même cache dans mon travail.

Merci

Répondre

1

cache_store vient?

Si vous configurez le Rails caching feature interne pour se connecter à Memcached, vous pouvez utiliser

Rails.cache.write("key", "value") 
Rails.cache.fetch("key") { ... } 
+0

cache_store est celui que je mets dans le fichier env production config.action_controller.cache_store =: mem_cache_store – anusuya

+0

je pouvais lire la valeur stocker dans le memcached dans le travailleur lui-même Rails.cache.write ('db_status', 'down') RAILS_DEFAULT_LOGGER.info ("-------- lire dans workeri # {Rails.cache.read ('db_status ')} ") mais je ne pouvais pas le faire dans mon contrôleur d'application. il ne retourne pas la valeur enregistrée – anusuya

+0

ne suis pas sûr. si l'application worker and the rails utilise une banque de cache différente. pourquoi ne peux pas la valeur écrite par le travailleur lu par l'application. – anusuya

Questions connexes