Домой Учебники по Java и J2EE Руководство по клиентскому клиенту Memcached с использованием библиотек whalin.Memcached-Java-Client и googlecode.xmemcached

Руководство по клиентскому клиенту Memcached с использованием библиотек whalin.Memcached-Java-Client и googlecode.xmemcached

677
0

Это продолжение учебника по Memcached which is distributed memory object caching server . Вот два предыдущих урока, прежде чем перейти к этому .

В этом уроке мы рассмотрим Memcached Java Client, используя следующие два подхода:

Библиотека com.whalin.Memcached-Java-Client

добавить в файл pom.xml

1
2
3
4
5
< зависимость >
< groupId > ком . whalin < / groupId >
< artifactId > MemcachedJavaКлиент < / artifactId >
< версия > 3.0.2 < / версия >
< / зависимость >

ком. Библиотека googlecode .xmemcached

добавить в файл pom.xml

1
2
3
4
5
< зависимость >
< groupId > ком . GoogleCode. xmemcached < / groupId >
< artifactId > xmemcached < / artifactId >
< версия > 2.4.5 < / версия >
< / зависимость >

Просто добавьте эти две зависимости maven в файл pom.xml вашего проекта, чтобы получить библиотеку в рабочей области Eclipse .

Вот полная программа CrunchifyComWhalinXMemcachedClient.java со всеми подробностями.

CrunchifyComWhalinXMemcachedClient.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
пакет crunchify. Java. учебные пособия ;
импорт Java . Ио. IOException ;
импорт Java . Util. одновременно. TimeoutException ;
импорт ком . Whalin. MemCached . MemCachedClient ;
импорт ком . Whalin. MemCached . SockIOPool ;
импортная сеть . rubyeye. xmemcached . XMemcachedClient ;
импортная сеть . rubyeye. xmemcached . исключение. MemcachedException ;
/ **
* @author Crunchify.com
* Версия: 1.2.4
* Подробности: используйте зависимости com.whalin.Memcached-Java-Client и com.googlecode.xmemcached для извлечения, сохранения пары Key Value.
* с сервера MemCached
* /
общественности учебный класс CrunchifyComWhalinXMemcachedClient {
общественности статический недействительным main ( Строка [ ] аргументы ) {
log ( =========================================== Подход-1: Использование SpyMemcahed: https: / /crunchify.com/memcached-java-client-net-spy-spymemcached/ ================================ ==== / n ) ;
log ( =========================================== Подход-2: Использование com.whalin.Memcached -Java-Client ===================================== / n ) ;
ImplementWhalinMemcachedJavaClient ( ) ;
log ( =========================================== Подход-3: Использование com.googlecode.xmemcached Метод ===================================== / n ) ;
ImplementXMemCachedClient ( ) ;
Журнал ( ===================================== Программа завершена ========= ============================= / n ) ;
}
// Подход-1: Использование SpyMemcahed: https://crunchify.com/memcached-java-client-net-spy-spymemcached/
// Подход-2: Использование com.whalin.Memcached-Java-Client
частный статический недействительным ImplementWhalinMemcachedJavaClient ( ) {
Строка [ ] серверы знак равно { локальный: 11211 } ;
// Этот класс является пулом соединений для обслуживания пула постоянных соединений с серверами memcached.
// Пул должен быть инициализирован перед использованием. Обычно это происходит в начале жизненного цикла экземпляра JVM.
SockIOPool crunchfiyPool знак равно SockIOPool . getInstance ( Crunchify ) ;
// Устанавливает минимальное количество резервных соединений для поддержки в нашем доступном пуле.
crunchfiyPool . setMinConn ( 2 ) ;
// Устанавливает максимально допустимое количество свободных соединений в нашем доступном пуле.
crunchfiyPool . setMaxConn ( 20 ) ;
// Устанавливает список всех серверов кеша.
crunchfiyPool . setServers ( серверы ) ;
// Устанавливает флаг аварийного переключения для пула. Если для этого флага установлено значение true и сокету не удается подключиться, пул будет пытаться вернуть сокет из
// другой сервер, если он существует.
// Если установлено значение false, то получение сокета вернет ноль, если он не сможет подключиться к запрошенному серверу.
crunchfiyPool . setFailover ( true ) ;
// Устанавливает начальное количество соединений на сервер в доступном пуле.
crunchfiyPool . setInitConn ( 30 ) ;
// Установить время ожидания между запусками потока обслуживания пула. Если установлено значение 0, то основной поток не будет запущен.
crunchfiyPool . setMaintSleep ( 90 ) ;
// Устанавливает время ожидания сокета для чтения.
crunchfiyPool . setSocketTO ( 2000 ) ;
// Устанавливает флаг aliveCheck для пула. Когда true, это будет пытаться общаться с сервером при каждой проверке соединения, чтобы убедиться, что соединение
// все еще действует.
crunchfiyPool . setAliveCheck ( true ) ;
crunchfiyPool . initialize ( ) ;
// Создает новый экземпляр MemCachedClient, принимающий переданное имя пула.
MemCachedClient crunchifyWhalinClient знак равно новый MemCachedClient ( Crunchify ) ;
// Добавляет данные на сервер; указываются только ключ и значение.
crunchifyWhalinClient . добавить ( Java , Crunchify.com ) ;
crunchifyWhalinClient . добавить ( WordPress , WordPress.com ) ;
crunchifyWhalinClient . добавить ( Социальный , Facebook.com ) ;
log ( ==> Всего 3 записей добавлено в MemCached с помощью метода com.whalin.Memcached-Java-Client / n ) ;
// Получить ключ с сервера, используя определенный хеш.
// Если данные были сжаты или сериализованы при сжатии, они будут автоматически распакованы или сериализованы, в зависимости от ситуации.
log ( Ключ: Java, Значение: + crunchifyWhalinClient . get ( Java ) ) ;
log ( «Ключ: WordPress, Значение:» + crunchifyWhalinClient . get ( WordPress ) ) ;
журнал ( «Ключ: Социальный, Значение:» + crunchifyWhalinClient . get ( «Social» ) ) ;
log ( ==> Всего 3 записи, полученные из MemCached с использованием метода com.whalin.Memcached-Java-Client / n ) ;
// Удаляет объект из кеша по заданному ключу кеша.
crunchifyWhalinClient . удалить ( «Социальный» ) ;
log ( ==> Запись удалена с использованием метода com.whalin.Memcached-Java-Client / n ) ;
журнал ( «Ключ: Социальный, Значение:» + crunchifyWhalinClient . get ( «Social» ) ) ;
log ( ==> Не удалось получить запись Social, так как мы удалили ее до / n ) ;
}
// Подход-3: Использование com.googlecode.xmemcached
частный статический недействительным ImplementXMemCachedClient ( ) {
строка город знак равно «Нью-Йорк» ;
строка City2 знак равно Сан-Франциско ;
пытаться {
// Конструктор XMemcached, вес по умолчанию равен 1
XMemcachedClient xMemCachedclient знак равно новый XMemcachedClient ( localhost , 11211 ) ;
// Установить значение
xMemCachedclient . набор ( Хруст , 3600 , город ) ;
xMemCachedclient . установить ( «Твиттер» , 3600 , city2 ) ;
// Получить значение для указанного ключа
объект мой город знак равно xMemCachedclient . get ( «Твиттер» ) ;
log ( =====> Ключ: Twitter, Значение: + xMemCachedclient . получить ( «Твиттер» ) + / n ) ;
// Получить значение для указанного ключа (установить таймаут в три секунды)
мой город знак равно xMemCachedclient . получить ( Хруст , 3000 ) ;
log ( =====> Ключ: Crunchify, Значение: + xMemCachedclient . получить ( Хруст , 3000 ) + / n ) ;
// Установить новое время истечения для существующего элемента, используя opTimeout секунд по умолчанию.
xMemCachedclient . сенсорный ( «ключ» , 30 ) ;
xMemCachedclient . удалить ( Crunchify ) ;
log ( =====> Ключ: Crunchify, Значение: + xMemCachedclient . получить ( Хруст ) + / n ) ;
// удаляем значение
xMemCachedclient . удалить ( «ключ» ) ;
// давайте поймать все исключения
} ловить ( IOException е ) {
эл . printStackTrace ( ) ;
} ловить ( MemcachedException е ) {
эл . printStackTrace ( ) ;
} ловить ( TimeoutException е ) {
эл . printStackTrace ( ) ;
} ловить ( InterruptedException е ) {
эл . printStackTrace ( ) ;
}
}
// Простая утилита журнала
частный статический недействительным log ( Объект объект ) {
Система. вне. println ( объект ) ;
}
}

Убедитесь, что сервер Memcached запущен и работает.

1
Баш3,2 $ Memcached г р 11211

Просто запустите команду выше в Eclipse, чтобы увидеть результат ниже.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
===================================== Подход1 : Использование SpyMemcahed : https : //crunchify.com/memcached-java-client-net-spy-spymemcached/ ============================= =======
===================================== Подход2 : Используя ком . Whalin. MemcachedJavaКлиент =====================================
SLF4J : Запрашиваемая версия 1.7.16 на ваш SLF4J связывание не совместим с [ 1.6 ]
SLF4J : См. Http : //www.slf4j.org/codes.html#version_mismatch для получения дополнительной информации.
== > Всего 3 Записи добавлены в MemCached с использованием com . Whalin. MemcachedJavaклиентский метод
Ключ : Java , Значение : Crunchify. ком
Ключ : WordPress , Значение : WordPress . ком
Ключ : Социальная , Значение : Facebook. ком
== > Всего 3 Записи Получено с Memcached помощью ком. Whalin. MemcachedJavaклиентский метод
18 : 27 : 35.433 [ главная ] ОТЛАДКА ком . Whalin. MemCached . MemCachedClient ++++ удаление ключа: Соцсети из кеша были успех
== > Запись удалена с помощью ком . Whalin. MemcachedJavaклиентский метод
Ключ : Социальная , Значение : ноль
== > Неспособность получить запись Social as мы удалили это раньше
===================================== Подход3 : Используя ком . GoogleCode. Метод xmemcached =====================================
18 : 27 : 35,456 [ главная ] ИНФО нет . rubyeye. xmemcached . XMemcachedClient XMemcachedClient является используя текстовый протокол
18 : 27 : 35,491 [ главная ] ИНФОРМАЦИЯ ком . Google. код. yanf4j . Nio . импл . SelectorManager Создание 8 реакторы . , ,
18 : 27 : 35,496 [ главная ] ИНФОРМАЦИЯ ком . Google. код. yanf4j . ядро. импл . AbstractController Контроллер начал на локальном хосте / 127.0.0.1: 0 , , ,
18 : 27 : 35.509 [ XmemcachedReactor0 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession сессия началась
18 : 27 : 35,510 [ XmemcachedReactor0 ] ИНФОРМАЦИЯ ком . Google. код. yanf4j . ядро. импл . AbstractController добавлять сессия : 127.0.0.1 : 11211
18 : 27 : 35,513 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession После кодировки установите Crunchify 0 3600 8
новый Йорк
18 : 27 : 35,514 [ XmemcachedReactor2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор Оптимизировать буфер слияния : установить Crunchify 0 3600 8
новый Йорк
18 : 27 : 35,514 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession буферы отправки :
[
буфер : позиция = 0 , предел = 34 , емкость = 34
]
18 : 27 : 35,515 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession читать 8 байты из канала
18 : 27 : 35,515 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession После кодировки установлен Твиттер 0 3600 13
Сан- Франциско
18 : 27 : 35,515 [ XmemcachedReactor2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор Оптимизировать буфер слияния : установить Twitter 0 3600 13
Сан- Франциско
18 : 27 : 35,515 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession буферы отправки :
[
буфер : позиция = 0 , предел = 38 , емкость = 38
]
18 : 27 : 35,515 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession читать 8 байты из канала
18 : 27 : 35,516 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession После кодировки получите твиттер
18 : 27 : 35,517 [ XmemcachedReactor2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор Оптимизируйте буфер слияния : получите Twitter
18 : 27 : 35,517 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession буферы отправки :
[
буфер : позиция = 0 , предел = 13 , емкость = 13
]
18 : 27 : 35,518 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession После кодировки получите твиттер
18 : 27 : 35,518 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession читать 40 байты из канала
18 : 27 : 35,518 [ XmemcachedReactor2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор Оптимизируйте буфер слияния : получите Twitter
18 : 27 : 35,518 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession буферы отправки :
[
буфер : позиция = 0 , предел = 13 , емкость = 13
]
===== > Ключ : Twitter , Значение : Сан- Франциско
18 : 27 : 35,518 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession читать 40 байты из канала
18 : 27 : 35,519 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession После кодировки получите Crunchify
18 : 27 : 35,519 [ XmemcachedReactor2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор Оптимизировать буфер слияния : получить Crunchify
18 : 27 : 35,519 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession буферы отправки :
[
буфер : позиция = 0 , предел = 15 , емкость = 15
]
18 : 27 : 35,519 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession читать 36 байты из канала
18 : 27 : 35,519 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession После кодировки получите Crunchify
18 : 27 : 35,519 [ XmemcachedReactor2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор Оптимизировать буфер слияния : получить Crunchify
18 : 27 : 35,519 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession буферы отправки :
[
буфер : позиция = 0 , предел = 15 , емкость = 15
]
===== > Ключ : Хруст , Значение : новый Йорк
18 : 27 : 35,520 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession читать 36 байты из канала
18 : 27 : 35,520 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession После кодирования сенсорного ключа 30
18 : 27 : 35,520 [ XmemcachedReactor2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор Оптимизировать буфер слияния : сенсорная клавиша 30
18 : 27 : 35,520 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession буферы отправки :
[
буфер : позиция = 0 , предел = 14 , емкость = 14
]
18 : 27 : 35,520 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession читать 11 байты из канала
18 : 27 : 35,520 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession После кодировки удалить Crunchify
18 : 27 : 35,520 [ XmemcachedReactor2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор Оптимизировать буфер слияния : удалить Crunchify
18 : 27 : 35,521 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession буферы отправки :
[
буфер : позиция = 0 , предел = 18 , емкость = 18
]
18 : 27 : 35,521 [ XmemcachedReactor2 ] DEBUG
ком . Google. код. yanf4j . ядро. импл . AbstractSession читать 9 байты из канала
18 : 27 : 35,521 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession После кодировки получите Crunchify
18 : 27 : 35,521 [ XmemcachedReactor2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор Оптимизировать буфер слияния : получить Crunchify
18 : 27 : 35,521 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession буферы отправки :
[
буфер : позиция = 0 , предел = 15 , емкость = 15
]
===== > Ключ : Хруст , Значение : ноль
18 : 27 : 35,521 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession читать 5 байты из канала
18 : 27 : 35,521 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession После кодировки удалить ключ
18 : 27 : 35,521 [ XmemcachedReactor2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор Оптимизировать буфер слияния : удалить ключ
18 : 27 : 35,521 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession буферы отправки :
[
буфер : позиция = 0 , предел = 12 , емкость = 12
]
===================================== Программа завершена =====================================
18 : 27 : 35,522 [ XmemcachedReactor2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession читать 11 байты из канала

Как видно из приведенного выше результата, легко извлечь и сохранить значение, и это самый быстрый способ получить решение для центрального кэширования для вашего производственного Java-приложения.

Руководство по клиентскому клиенту Memcached с использованием библиотек whalin.Memcached-Java-Client и googlecode.xmemcached

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Как запускать несколько потоков одновременно в Java? Подход ExecutorService

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь