En Java Comment implémenter le client Memcached à l'aide de la bibliothèque net.spy.spymemcached ?
Publié: 2020-12-27
Il y a quelques jours, j'ai écrit un article sur la configuration et le démarrage local de MemCached Server sur votre Mac OS en quelques étapes simples.
Il existe trois manières différentes de créer un client Java Memcached.
- méthode net.spy.spymemcached
- com.whalin.Memcached – Java – Méthode client
- Méthode com.googlecode.xmemcached
Dans ce didacticiel, nous verrons comment écrire un client Java simple à l'aide de la bibliothèque net.spy.spymemcached
. Si vous avez Maven Project dans votre environnement Eclipse, veuillez ajouter ci-dessous la dépendance au fichier pom.xml
.
Jetez un œil aux opérations set(), get(), delete().
1 2 3 4 5 |
< dependency > < groupId > net . spy < / groupId > < artifactId > spymemcached < / artifactId > < version > 2.12.3 < / version > < / dependency > |
Une fois que vous avez mis à jour votre fichier pom.xml, essayez de mettre à jour votre projet Java. La prochaine chose est d'écrire un programme Java simple.
implémenterSpyMemcached.java
La bibliothèque est livrée avec des opérations set()
, get()
, delete()
très simples. Voici un exemple 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 ) ; } } |
Démarrer le serveur MemCached localement
Accédez à la fenêtre Terminal et tapez la commande memcached -d -p 11211
.

Tutoriel : Comment installer et configurer Memcached Process/Server sur Mac OS X ?
Sortie de la console Eclipse :
Exécutez simplement le programme ci-dessus dans une application Java et vous devriez voir un résultat comme celui-ci.
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 |
Faites-moi savoir si vous rencontrez un problème lors de l'exécution du programme. Dans le prochain didacticiel we will go over another libraries
pour définir et obtenir des données Memcached.
Et ensuite ?
Essayez Memcached Java Client Tutorial avec deux autres bibliothèques.