În Java Cum se implementează clientul Memcached folosind biblioteca net.spy.spymemcached?
Publicat: 2020-12-27
Cu câteva zile în urmă, am scris un articol despre cum să configurați și să porniți MemCached Server local pe Mac OS, cu câțiva pași simpli.
Există trei moduri diferite de a crea Memcached Java Client.
- net.spy.spymemcached metoda
- com.whalin.Memcached – Java – Metoda client
- metoda com.googlecode.xmemcached
În acest tutorial vom analiza cum să scrieți un client Java simplu folosind biblioteca net.spy.spymemcached
. Dacă aveți Maven Project în mediul dvs. Eclipse, vă rugăm să adăugați mai jos dependența la fișierul pom.xml
.
Aruncă o privire la operațiunile set(), get(), delete().
1 2 3 4 5 |
< dependency > < groupId > net . spy < / groupId > < artifactId > spymemcached < / artifactId > < version > 2.12.3 < / version > < / dependency > |
După ce vă actualizați fișierul pom.xml, încercați să actualizați proiectul Java. Următorul lucru este să scrieți un program Java simplu.
implementSpyMemcached.java
Biblioteca vine cu operații foarte simple set()
, get()
, delete()
. Iată un exemplu complet.
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 |
package crunchify . java . tutorials ; import net . spy . memcached . MemcachedClient ; import java . io . IOException ; import java . net . InetSocketAddress ; /** * @author Crunchify.com * Version: 1.0.0 * Details: Use dependency net.spy.spymemcached to retrieve, store Key Value pair from MemCached Server * */ public class CrunchifySpyMemcachedClient { public static void main ( String [ ] args ) { implementCrunchifySpyMemcached ( ) ; } // Approach-1: net.spy.spymemcached // Use dependency net.spy.spymemcached to retrieve, store Key Value pair from MemCached Server private static void implementCrunchifySpyMemcached ( ) { // Get a memcache client operating on the specified memcached locations. MemcachedClient crunchifySpyMemCached ; try { crunchifySpyMemCached = new MemcachedClient ( new InetSocketAddress ( "127.0.0.1" , 11211 ) ) ; log ( "=====> Approach-1: SpyMemcached <=====\n" ) ; log ( "==> Connected to Crunchify's Local Server Successfully." + " Host: localhost, Port: 11211" ) ; // Set an object in the cache (using the default transcoder) regardless of any existing value. // The exp value is passed along to memcached exactly as given, and will be processed per the memcached protocol specification: // The actual value sent may either be Unix time (number of seconds since January 1, 1970, as a 32-bit value), or a number of seconds starting from // current time. In the latter case, this number of seconds may not exceed 60*60*24*30 (number of seconds in 30 days); if the number sent by a // client is larger than that, the server will consider it to be real Unix time value rather than an offset from current time. crunchifySpyMemCached . set ( "Crunchify" , 2000 , "New York" ) ; crunchifySpyMemCached . set ( "Google" , 2000 , "Mountain View" ) ; crunchifySpyMemCached . set ( "PayPal" , 2000 , "San Jose" ) ; crunchifySpyMemCached . set ( "Twitter" , 2000 , "San Francisco" ) ; crunchifySpyMemCached . set ( "Amazon" , 2000 , "Seattle" ) ; log ( "==> Total 5 Records added to MemCached using net.spy.spymemcached method\n" ) ; // Get with a single key and decode using the default transcoder. log ( "Key: Google, Value: " + crunchifySpyMemCached . get ( "Google" ) ) ; log ( "Key: PayPal, Value: " + crunchifySpyMemCached . get ( "PayPal" ) ) ; log ( "Key: Twitter, Value: " + crunchifySpyMemCached . get ( "Twitter" ) ) ; log ( "Key: Amazon, Value: " + crunchifySpyMemCached . get ( "Amazon" ) ) ; log ( "Key: Crunchify, Value: " + crunchifySpyMemCached . get ( "Crunchify" ) ) ; log ( "==> Total 5 Records Retrieved from MemCached using net.spy.spymemcached method\n" ) ; // Delete the given key from the cache. crunchifySpyMemCached . delete ( "Crunchify" ) ; log ( "==> Key:Crunchify deleted successfully\n" ) ; log ( "Key: Crunchify, Value: " + crunchifySpyMemCached . get ( "Crunchify" ) ) ; log ( "==> If no record found, it returns NULL\n" ) ; } catch ( IOException e ) { // Prints this throwable and its backtrace to the standard error stream e . printStackTrace ( ) ; } } private static void log ( Object object ) { System . out . println ( object ) ; } } |
Porniți serverul MemCached local
Accesați fereastra Terminal și tastați comanda memcached -d -p 11211
.

Tutorial: Cum se instalează și se configurează Procesul/Serverul Memcached pe Mac OS X?
Ieșire consola Eclipse:
Doar rulați programul de deasupra unei aplicații Java și ar trebui să vedeți un rezultat ca acesta.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
2018 - 12 - 07 16 : 25 : 45.437 INFO net . spy . memcached . MemcachedConnection : Setting retryQueueSize to - 1 2018 - 12 - 07 16 : 25 : 45.459 INFO net . spy . memcached . MemcachedConnection : Added { QA sa =/ 127.0.0.1 : 11211 , #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue ===== > Approach - 1 : SpyMemcached < ===== == > Connected to Crunchify ' s Local Server Sucessfully . Host : localhost , Port : 11211 == > Total 5 Records added to MemCached using net . spy . spymemcached method Key : Google , Value : Mountain View Key : PayPal , Value : San Jose Key : Twitter , Value : San Francisco Key : Amazon , Value : Seattle Key : Crunchify , Value : New York == > Total 5 Records Retrieved from MemCached using net . spy . spymemcached method == > Key : Crunchify deleted successfully Key : Crunchify , Value : null == > If no record found , it returns NULL |
Anunțați-mă dacă vă confruntați cu vreo problemă la rularea programului. În următorul tutorial we will go over another libraries
pentru a seta și a obține date Memcached.
Ce urmează?
Încercați Memcached Java Client Tutorial cu încă două biblioteci.