Подтвердить что ты не робот

Java Memcached Client

Какой лучший клиент Java memcached и почему?

4b9b3361

Ответ 1

Как автор spymemcached, я немного предвзятый, но я бы сказал это по следующим причинам:

Разработан с нуля, чтобы быть неблокируемым везде.

Когда вы запрашиваете данные, выдаете набор и т.д.... там одна крошечная параллельная вставка очереди, и вы получаете будущее для блокировки результатов (с некоторыми удобными методами для обычных случаев, таких как get).

Оптимизировано агрессивно

Вы можете прочитать больше на моей странице optimizations, но я делаю оптимизацию всего приложения.

Я по-прежнему хорошо разбираюсь в микро-тестах, но для сравнения с другим клиентом вам нужно улаживать нереалистичные шаблоны использования (например, ожидание ответа на каждую заданную операцию или блокировки здания вокруг позволяет им избежать делая оптимизацию пакетов).

Проверено навязчиво

Я поддерживаю довольно строгий набор тестов с отчетами о покрытии в каждом выпуске.

Ошибки все еще проскальзывают, но они обычно довольно незначительные, и клиент продолжает улучшаться.:)

Хорошо документировано

Страница examples содержит краткое введение, но javadoc идет в огромные подробности.

Предоставляет абстракции высокого уровня

У меня есть интерфейс Map к кешу, а также функциональная абстракция CAS. Оба бинарных и текстовых поддерживают механизм incr-with-default (предоставляемый двоичным протоколом, но довольно сложный в тексте).

Сохраняет характеристики

Я выполняю много работы на самом сервере, поэтому я не отстаю от изменений протокола.

Я сделал первые реализации сервера бинарного протокола (как тестовый сервер, так и сам memcached), и это был первый готовый к производству клиент для его поддержки и делает это первоклассным.

У меня также есть поддержка нескольких алгоритмов хеширования и алгоритмов распределения node, все из которых хорошо протестированы для каждой сборки. Вы можете сделать хэш-код с запасом кетама, или производную, использующую FNV-1 (или даже собственное хеширование строки java), если вы хотите повысить производительность.

Ответ 2

Я считаю, что клиент imap с memcached - лучший клиент.

Функции

  • Поддержка двоичных протоколов. самый быстрый способ доступа к ключу/значению, хранящемуся на сервере memcached.
  • Поддержка протокола UDP. Вы можете установить ключ с протоколом tcp и получить протокол udp. На самом деле, некоторые крупные корпорации делают это.
  • Поддержка настраиваемой сериализации и десериализации.
  • Пул соединений с NIO и прямым буфером. Динамически увеличивайте соединения, когда они не используются для пула соединений.

Производительность

  • Обратитесь к performance для тестового теста существующих популярных Java-клиентов memcached.
  • Дессериализация при получении ответа
  • Настройка производительности в каждой строке исходного кода.

Ответ 4

Примерно год назад, когда мне приходилось использовать java-клиент memcached, соединитель spymemcached был описан как оптимизированный API с большим количеством функций. С тех пор появилось несколько новых выпусков клиента memcached, поэтому, возможно, стоит проверить.

FWIW клиент-шпион отлично работал у меня.

Ответ 5

Я использую SpyMemcached и должен согласиться с тем, что он является лучшим из доступных там, с множеством новых улучшений.

Ответ 7

Попробуйте xmemcached, он также основан на nio и обладает некоторыми мощными функциями.