ใน Java จะใช้งาน Memcached Client โดยใช้ net.spy.spymemcached Library ได้อย่างไร
เผยแพร่แล้ว: 2020-12-27
ไม่กี่วันก่อน ฉันได้เขียนบทความเกี่ยวกับวิธีการตั้งค่าและเริ่มต้น MemCached Server ในเครื่อง Mac OS ของคุณด้วยขั้นตอนง่ายๆ ไม่กี่ขั้นตอน
มีสามวิธีในการสร้างไคลเอ็นต์ Memcached Java
- net.spy.spymemcached วิธี
- com.whalin.Memcached – Java – วิธีการไคลเอนต์
- com.googlecode.xmemcached วิธี
ในบทช่วยสอนนี้ เราจะพูดถึงวิธีเขียน Java Client อย่างง่ายโดยใช้ไลบรารี net.spy.spymemcached
หากคุณมี Maven Project ในสภาพแวดล้อม Eclipse โปรดเพิ่มการพึ่งพาไฟล์ pom.xml
ด้านล่าง
ดูการทำงานของ set(), get(), delete()
1 2 3 4 5 |
< dependency > < groupId > net . spy < / groupId > < artifactId > spymemcached < / artifactId > < version > 2.12.3 < / version > < / dependency > |
เมื่อคุณอัปเดตไฟล์ pom.xml แล้ว ให้ลองอัปเดตโปรเจ็กต์ Java ของคุณ ต่อไปคือการเขียนโปรแกรม Java อย่างง่าย
ใช้SpyMemcached.java
ไลบรารีมาพร้อมกับการดำเนินการ set()
, get()
, delete()
ที่ง่ายมาก นี่คือตัวอย่างที่สมบูรณ์
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 ) ; } } |
เริ่ม MemCached Server ในเครื่อง
ไปที่หน้าต่าง Terminal และพิมพ์ command memcached -d -p 11211

บทช่วยสอน: วิธีการติดตั้งและกำหนดค่ากระบวนการ/เซิร์ฟเวอร์ Memcached บน Mac OS X
เอาต์พุตคอนโซล Eclipse:
เพียงเรียกใช้โปรแกรม Java Application ด้านบนและคุณจะเห็นผลลัพธ์เช่นนี้
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 |
แจ้งให้เราทราบหากคุณประสบปัญหาในการเรียกใช้โปรแกรม ในบทช่วยสอนถัดไป we will go over another libraries
เพื่อตั้งค่าและรับข้อมูล Memcached
อะไรต่อไป?
ลองใช้ Memcached Java Client Tutorial กับอีกสองไลบรารี