Какой клиент memcache использовать для JRuby и Rails 3?

#ruby #ruby-on-rails-3 #memcached #jruby

#ruby #ruby-on-rails-3 #memcached #jruby

Вопрос:

Я использовал MRI Ruby 1.8.7 и Rails 2.3 с драгоценным камнем memcached, и, экспериментируя с JRuby и Rails 2.3, я обнаружил, что драгоценный камень jruby-memcache-client имеет хорошую историю и, похоже, хорошо работает.

Однако, переходя на JRuby 1.9 и Rails 3, по-прежнему ли это подходящий gem для использования? Или встроенный клиентский модуль memcache был улучшен до такой степени, что были устранены проблемы с потоками, которые привели к разработке jruby-memcache-client? Или мне следует использовать Dalli?

Ответ №1:

Я успешно использую Dalli как с производственной средой Rails 3.0.x и 1.8.7, так и с веткой разработки Rails 3.1.x и 1.9.3. Отлично работает в обеих средах.

Комментарии:

1. Спасибо за ответ! Помимо того, что это работает — в документах jruby-memcache-client говорится: «Библиотека Ruby MemCache никогда не писалась с учетом многопоточных приложений. Все потоки используют один и тот же сокет, а многопоточный режим в основном обертывает ввод-вывод мьютексом » и обсудите объединение. Другими словами, даже встроенный клиент будет «отлично работать», но не будет так же хорошо работать под нагрузкой в многопоточных настройках. Я не знаю, имеет ли Dalli те же ограничения? Вы сравнивали Dalli с другими вариантами или проводили какой-либо сравнительный анализ? Или просто Dalli не выдал ошибок?