[merb] cachowanie danych

Czy jest na sali ktoś, kto zna się na merbie i merb-cache?

Zadaj konkretne pytanie, trochę osób z tego forum na pewno używało merba i merb-cache.

Temat jest mniej więcej taki…

Rejestruję w init.rb podpięcie do memcached jako page_store (sprawdzałem też action_store), co wygląda w uproszczeniu tak:

Merb::Cache.setup do register(:page_store, Merb::Cache::MemcachedStore, :namespace => "my_app", :servers => ["127.0.0.1:11211"]) register(:default, Merb::Cache::AdhocStore[:page_store]) end
W kontrolerze umieszczam wywołanie np:

cache :index

I następnie jest jedna wielka dupa zbita… Do memcached nie trafiają żadne sensowne dane, a klucz wydaje się być generowany bardzo dziwnie.

Wersje:

  • merb 1.0.15
  • merb-cache 1.0.15
  • memcached (gem) 0.17.7
  • memcached 1.4.1

Patrzę w kod merb-cache i widzę coś takiego:

def _cache_after(conditions = {}) if @_skip_cache.nil? && Merb::Cache[_lookup_store(conditions)].write(self, nil, *_parameters_and_conditions(conditions)) @_cache_write = true end end
Ten nil nie jest przypadkiem jakiś dziwny?

Dobra, problem rozwiązany. Przez ciągłe zmiany w init.rb z rejestracją store’ów w końcu zostawiłem tam błędną wersję.