Spec-Zone .ru
спецификации, руководства, описания, API

15.6.3.8. Используя MySQL и memcached с Java

com.danga.MemCached class в пределах Java обеспечивает собственный интерфейс для memcached экземпляров. Можно получить клиент из http://whalin.com/memcached/. class Java использует хеши, которые являются совместимыми с libmemcached, таким образом, Вы можете Java смешивания и подгонки и libmemcached приложения, получающие доступ к тем же самым memcached экземплярам. Сериализация между Java и другими интерфейсами не является совместимой. Если это - проблема, используйте ДЖСОНА или подобный недвоичный формат сериализации.

На большинстве систем можно загрузить пакет и использовать jar непосредственно.

Использовать com.danga.MemCached интерфейс, Вы создаете a MemCachedClient экземпляр и затем конфигурирует список серверов, конфигурируя SockIOPool. Через спецификацию пула Вы устанавливаете список сервера, взвешивание, и параметры соединения к оптимизированному соединения между Вашим клиентом и memcached экземплярами, которые Вы конфигурируете.

Обычно, можно сконфигурировать интерфейс memcached однажды в пределах единственного class, затем использовать этот интерфейс всюду по остальной части Вашего приложения.

Например, чтобы создать основной интерфейс, сначала сконфигурируйте MemCachedClient и основа SockIOPool настройки:

public class MyClass {    protected static MemCachedClient mcc = new MemCachedClient();    static {	        String[] servers =            {                "localhost:11211",            };	        Integer[] weights = { 1 };	        SockIOPool pool = SockIOPool.getInstance();	        pool.setServers( servers );        pool.setWeights( weights );

В вышеупомянутой выборке список серверов конфигурируется, создавая массив memcached экземпляров, чтобы использовать. Можно тогда сконфигурировать отдельные веса для каждого сервера.

Остаток от свойств для соединения является дополнительным, но можно определить номера соединения (начальные соединения, минимальные соединения, максимальные соединения, и неактивный тайм-аут), устанавливая параметры пула:

pool.setInitConn( 5 );pool.setMinConn( 5 );pool.setMaxConn( 250 );pool.setMaxIdle( 1000 * 60 * 60 * 6 

Как только параметры были сконфигурированы, инициализируйте пул соединения:

pool.initialize();

Пул, и соединение с Вашими memcached экземплярами должны теперь быть готовы использовать.

Чтобы установить алгоритм хеширования, используемый, чтобы выбрать сервер, используемый, храня данный ключ, использовать pool.setHashingAlg():

pool.setHashingAlg( SockIOPool.NEW_COMPAT_HASH );

Допустимые значения NEW_COMPAT_HASH, OLD_COMPAT_HASH и NATIVE_HASH также основные modula алгоритмы хеширования. Для непротиворечивого алгоритма хеширования использовать CONSISTENT_HASH. Эти константы эквивалентны соответствующим настройкам хеша в пределах libmemcached.

Следующая таблица обрисовывает в общих чертах Java com.danga.MemCached методы и эквивалентные универсальные методы в memcached соединяют интерфейсом со спецификацией.

Java com.danga.MemCached Метод Эквивалентный Универсальный Метод
get() Универсальный get().
getMulti(keys) Получите значения многократных keys, возврат информации как использование карты Хеша java.lang.String для ключей и java.lang.Object для значений thecorresponding.
set() Универсальный set().
add() Универсальный add().
replace() Универсальный replace().
delete() Универсальный delete().
incr() Универсальный incr().
decr() Универсальный decr().