У меня есть приложение Rails 4.2 за пассажиром 5.0.26 на apache 2.4.5.Я использую ruby 2.3.1 и dalli 2.7.8.Что-то странное происходит при извлечении данных из memcache с помощью этого вспомогательного метода:
def get_setting(name)
cached = Rails.cache.fetch("settings-" + name + session[:id].to_s) do
Setting.where(:name => name, :user_id => session[:id]).value
end
return cached
end
Если установлено значение 51234 для user1 и 1000 для user2, и я запрашиваю только user1 ...
get_setting ("setting_name") # => 51234, это нормально
, но иногда ...
get_setting ("setting_name") # => 1000
Я трижды проверил правильность имени и сессии [: id] (выгрузил все в development.log).Это происходит как в производстве, так и в разработке.
Я вижу, что другие сталкивались с этим, разве это не должно было быть решено в предыдущей версии драгоценного камня Далли?
Rails с Memcacheвозвращает неправильный кешированный объект?
memcache извлекает неправильные значения при использовании плагина act_as_cached
Я помню, что пробовал решения, упомянутые в этих вопросах, и получил ошибки.
Что я могу сделать, чтобы избавиться от этой очень неуловимой и раздражающей ошибки?