Содержание
Это продолжение учебника по Memcached which is distributed memory object caching server . Вот два предыдущих урока, прежде чем перейти к этому .
- Как установить и настроить Memcached
- Memcached Java Client Tutorial с использованием библиотеки net.spy.spymemcached
В этом уроке мы рассмотрим Memcached Java Client, используя следующие два подхода:
Библиотека com.whalin.Memcached-Java-Client
добавить в файл pom.xml
|
1
2
3
4
5
|
< зависимость >
< groupId > ком . whalin < / groupId >
< artifactId > Memcached — Java — Клиент < / 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. Memcached — Java — Клиент =====================================
SLF4J : Запрашиваемая версия 1.7.16 на ваш SLF4J связывание не совместим с [ 1.6 ]
SLF4J : См. Http : //www.slf4j.org/codes.html#version_mismatch для получения дополнительной информации.
== > Всего 3 Записи добавлены в MemCached с использованием com . Whalin. Memcached — Java — клиентский метод
Ключ : Java , Значение : Crunchify. ком
Ключ : WordPress , Значение : WordPress . ком
Ключ : Социальная , Значение : Facebook. ком
== > Всего 3 Записи Получено с Memcached помощью ком. Whalin. Memcached — Java — клиентский метод
18 : 27 : 35.433 [ главная ] ОТЛАДКА ком . Whalin. MemCached . MemCachedClient — ++++ удаление ключа: Соцсети из кеша были успех
== > Запись удалена с помощью ком . Whalin. Memcached — Java — клиентский метод
Ключ : Социальная , Значение : ноль
== > Неспособность получить запись 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 [ Xmemcached — Reactor — 0 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — сессия началась
18 : 27 : 35,510 [ Xmemcached — Reactor — 0 ] ИНФОРМАЦИЯ ком . Google. код. yanf4j . ядро. импл . AbstractController — добавлять сессия : 127.0.0.1 : 11211
18 : 27 : 35,513 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — После кодировки установите Crunchify 0 3600 8
новый Йорк
18 : 27 : 35,514 [ Xmemcached — Reactor — 2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор — Оптимизировать буфер слияния : установить Crunchify 0 3600 8
новый Йорк
18 : 27 : 35,514 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — буферы отправки :
[
буфер : позиция = 0 , предел = 34 , емкость = 34
]
18 : 27 : 35,515 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — читать 8 байты из канала
18 : 27 : 35,515 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — После кодировки установлен Твиттер 0 3600 13
Сан- Франциско
18 : 27 : 35,515 [ Xmemcached — Reactor — 2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор — Оптимизировать буфер слияния : установить Twitter 0 3600 13
Сан- Франциско
18 : 27 : 35,515 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — буферы отправки :
[
буфер : позиция = 0 , предел = 38 , емкость = 38
]
18 : 27 : 35,515 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — читать 8 байты из канала
18 : 27 : 35,516 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — После кодировки получите твиттер
18 : 27 : 35,517 [ Xmemcached — Reactor — 2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор — Оптимизируйте буфер слияния : получите Twitter
18 : 27 : 35,517 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — буферы отправки :
[
буфер : позиция = 0 , предел = 13 , емкость = 13
]
18 : 27 : 35,518 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — После кодировки получите твиттер
18 : 27 : 35,518 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — читать 40 байты из канала
18 : 27 : 35,518 [ Xmemcached — Reactor — 2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор — Оптимизируйте буфер слияния : получите Twitter
18 : 27 : 35,518 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — буферы отправки :
[
буфер : позиция = 0 , предел = 13 , емкость = 13
]
===== > Ключ : Twitter , Значение : Сан- Франциско
18 : 27 : 35,518 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — читать 40 байты из канала
18 : 27 : 35,519 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — После кодировки получите Crunchify
18 : 27 : 35,519 [ Xmemcached — Reactor — 2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор — Оптимизировать буфер слияния : получить Crunchify
18 : 27 : 35,519 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — буферы отправки :
[
буфер : позиция = 0 , предел = 15 , емкость = 15
]
18 : 27 : 35,519 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — читать 36 байты из канала
18 : 27 : 35,519 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — После кодировки получите Crunchify
18 : 27 : 35,519 [ Xmemcached — Reactor — 2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор — Оптимизировать буфер слияния : получить Crunchify
18 : 27 : 35,519 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — буферы отправки :
[
буфер : позиция = 0 , предел = 15 , емкость = 15
]
===== > Ключ : Хруст , Значение : новый Йорк
18 : 27 : 35,520 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — читать 36 байты из канала
18 : 27 : 35,520 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — После кодирования сенсорного ключа 30
18 : 27 : 35,520 [ Xmemcached — Reactor — 2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор — Оптимизировать буфер слияния : сенсорная клавиша 30
18 : 27 : 35,520 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — буферы отправки :
[
буфер : позиция = 0 , предел = 14 , емкость = 14
]
18 : 27 : 35,520 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — читать 11 байты из канала
18 : 27 : 35,520 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — После кодировки удалить Crunchify
18 : 27 : 35,520 [ Xmemcached — Reactor — 2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор — Оптимизировать буфер слияния : удалить Crunchify
18 : 27 : 35,521 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — буферы отправки :
[
буфер : позиция = 0 , предел = 18 , емкость = 18
]
18 : 27 : 35,521 [ Xmemcached — Reactor — 2 ] DEBUG
ком . Google. код. yanf4j . ядро. импл . AbstractSession — читать 9 байты из канала 18 : 27 : 35,521 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — После кодировки получите Crunchify
18 : 27 : 35,521 [ Xmemcached — Reactor — 2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор — Оптимизировать буфер слияния : получить Crunchify
18 : 27 : 35,521 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — буферы отправки :
[
буфер : позиция = 0 , предел = 15 , емкость = 15
]
===== > Ключ : Хруст , Значение : ноль
18 : 27 : 35,521 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — читать 5 байты из канала
18 : 27 : 35,521 [ главная ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — После кодировки удалить ключ
18 : 27 : 35,521 [ Xmemcached — Reactor — 2 ] ОТЛАДКА нет . rubyeye. xmemcached . импл . оптимизатор — Оптимизировать буфер слияния : удалить ключ
18 : 27 : 35,521 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — буферы отправки :
[
буфер : позиция = 0 , предел = 12 , емкость = 12
]
===================================== Программа завершена =====================================
18 : 27 : 35,522 [ Xmemcached — Reactor — 2 ] ОТЛАДКА ком . Google. код. yanf4j . ядро. импл . AbstractSession — читать 11 байты из канала
|
Как видно из приведенного выше результата, легко извлечь и сохранить значение, и это самый быстрый способ получить решение для центрального кэширования для вашего производственного Java-приложения.
0.00 (0%) 0 votes



