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ę.