2010-11-24 7 views
0

J'ai l'application de rails avec Jruby. Je fais le cache d'enregistrement actif en utilisant memcached. J'ai installé memcache-client gem. depuis que je connecte le serveur memcache à l'hôte distant. ma config memcache sont comme suit dans mon development.rb:erreur Memcached dans Ruby on Rails

require 'memcache' 

memcache_options = { 
    :c_threshold => 10_000, 
    :compression => true, 
    :debug => false, 
    :namespace => "#{RAILS_ENV}", 
    :readonly => false, 
    :urlencode => false, 
    :timeout => 60 
} 

CACHE = MemCache.new memcache_options 
CACHE.servers = 'example.org:0000' 

config.action_controller.cache_store = CACHE, {} 

Lorsque je tente d'accéder à la page, je reçois le message d'erreur follwiwng sur mon terminal:

MemCache::MemCacheError in ExampleController#index 
Resource temporarily unavailable - 

j'ai fait l'exemple telnet. org 1000. cela fonctionne bien et tapez la commande 'stats' qui donnera la sortie réussie. J'utilise Windows Vista ... je ne peux pas vérifier ma configuration de pare-feu ... Je suppose que si le pare-feu bloque je ne pouvais même pas faire telnet. Est-ce que je dois ouvrir mon port sur ma machine de développement? ou quoi d'autre le problème je ne pouvais pas comprendre.

Répondre

2

Je vous encourage fortement à utiliser Dalli.

config.cache_store = :dalli_store, 'cache-1.example.com', 'cache-2.example.com', 
{ :namespace => NAME_OF_RAILS_APP, :expires_in => 1.day, :compress => true, :compress_threshold => 64*1024 } 

Sinon, utilisez l'option :memcached_store pour configurer Memcached.

config.action_controller.cache_store = :memcached_store 

Pour déboguer l'erreur, ouvrez une nouvelle console Rails

# rails 3 
$ rails c 

# rails 2 
$ ruby script/console 

et essayez d'accéder Rails.cache. Voir si cela fonctionne.

+0

Salut Simone, Merci pour votre recommandation. Will "config.action_controller.cache_store =: memcached_store" aidera? Si oui, devrais-je commenter les déclarations précédentes et utiliser cette déclaration seulement? – palani

+0

Aussi Ruby console (Rails 2) me renvoie ce qui suit: – palani

+0

# palani