บทนำสู่ Memcached
มาแนะนำ memcached ด้านล่าง
1. memcached คืออะไร
Memcached เป็นระบบแคชออบเจ็กต์ที่มีประสิทธิภาพสูงแบบโอเพนซอร์สที่จัดเก็บและเข้าถึงข้อมูลผ่านทีมคีย์ค่า Memcached นั้นเรียบง่ายและทรงพลัง การออกแบบที่เรียบง่ายของมันส่งเสริมการใช้งานอย่างรวดเร็วและง่ายต่อการพัฒนาและแก้ปัญหามากมายที่ต้องเผชิญกับ Big Data Cache
เว็บไซต์อย่างเป็นทางการคือ: http://memcached.org/ ปัจจุบันแอปพลิเคชันอินเทอร์เน็ตที่รู้จักกันดีจำนวนมากใช้ memcached เช่น Wikipedia, Flickr, YouTube, WordPress ฯลฯ
2. ดาวน์โหลด memcached บนแพลตฟอร์ม Windows ที่อยู่คือ:
http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip
ที่อยู่ซอร์สโค้ดที่เกี่ยวข้องคือ:
http://code.jellycan.com/files/memcached-1.2.6-win32-src.zip
จากนั้นคลายซิปและคุณจะเห็นไฟล์ memcached.exe ติดตั้งในรูปต่อไปนี้และติดตั้งบนเครื่องในรูปแบบของบริการระบบ
จากนั้นตรวจสอบบริการระบบแล้วคุณจะพบว่าคุณสามารถดูบริการ memcached ได้แล้ว
จากนั้นคลิกขวาที่บริการนี้เพื่อเริ่มบริการนี้
Enter: Telnet 127.0.0.1 11211 ในอินเตอร์เฟส DOS เพื่อยืนยันว่าบริการเริ่มต้นอย่างถูกต้องหรือไม่ หากถูกต้องหน้าต่างต่อไปนี้จะปรากฏขึ้น:
ข้อผิดพลาดที่แสดงในภาพด้านบนจะปรากฏขึ้นโดยการสุ่มป้อนอักขระและกด Enter นี่เป็นเพราะคุณต้องติดตั้งโปรโตคอลที่ระบุโดย memcached เพื่อป้อนมิฉะนั้นข้อผิดพลาดดังที่แสดงด้านบนจะปรากฏขึ้น
3. Memcached Protocol และการเข้าถึงข้อมูล
โปรโตคอลที่เรียกว่าสามารถเข้าใจได้ว่าเป็นกฎไวยากรณ์สำหรับการดำเนินงาน (การเข้าถึงข้อมูล) คำสั่งและพารามิเตอร์ทั่วไปสำหรับการเข้าถึงข้อมูลมีดังนี้:
ชุด: บันทึกบันทึก
คีย์: ค่าคีย์ที่บันทึกไว้
ธง: ทศนิยม Int, ธงลูกค้าที่ระบุบันทึกเมื่อเก็บบันทึกและจะถูกส่งกลับเมื่อบันทึกถูกเรียกคืน
Exptim: เวลาหมดอายุของข้อมูล 0 หมายถึงหมดอายุและค่าอื่น ๆ แสดงถึงมิลลิวินาทีที่ถูกต้อง หลังจากหมดอายุลูกค้าจะไม่สามารถเรียกคืนบันทึกนี้ได้และบันทึกการหมดอายุใน Memcached จะถูกล้างหรือลบ
GET: หมายถึงการกำจัดค่าที่สอดคล้องกันของคีย์จาก memcached หากไม่มีค่าที่สอดคล้องกันค่าธงปลายจะถูกส่งคืน
ผนวก: หมายความว่าเนื้อหาอินพุตจะถูกเพิ่มลงในค่าที่สอดคล้องกับคีย์ในตอนท้าย
ลบ: ลบค่าที่สอดคล้องกับคีย์
สำหรับโปรโตคอลเพิ่มเติมโปรดดูที่: protocol.txt นำมาในแพ็คเกจ memcached
ตัวอย่างเฉพาะคือ:
ควรสังเกตว่าหากความยาวอักขระที่ระบุคือ 5 เมื่อตั้งค่าและเนื้อหาอินพุตเกินความยาวนี้จะมีการรายงานข้อผิดพลาด: client_error ข้อมูลที่ไม่ดี
4. เขียนรหัสเพื่อเข้าถึงข้อมูลบน memcached
โดยทั่วไปคุณสามารถใช้ไคลเอนต์ Memcached ที่ห่อหุ้มโอเพนซอร์สเพื่อทำงานบน Memcached แน่นอนคุณสามารถนำไปใช้ในรหัสโดยการเขียนโปรแกรมการสื่อสารซ็อกเก็ตตามโปรโตคอล memcached
หน้าดาวน์โหลด memcached-java-client:
http://github.com/gwhalin/memcached-java-client/downloads และเลือกดาวน์โหลด:
java_memcached-release_2.5.1.zip
คุณสามารถดูตัวอย่างที่เขียนได้ดีในไดเรกทอรีการทดสอบที่รันซิป คุณสามารถตรวจสอบการจัดเก็บข้อมูลและการถอนโดยเรียกใช้ com.danga.memcached.test Testmemcached รหัสถูกโพสต์ที่นี่:
แพ็คเกจ com.danga.memcached.test; นำเข้า com.danga.memcached.memcachedclient นำเข้า com.danga.memcached.sockiopool; นำเข้า org.apache.log4j.*; 11212BasicConfigurator.configure (); // ที่อยู่เซิร์ฟเวอร์แคช, เซิร์ฟเวอร์หลายตัวถูกคั่นด้วยเครื่องหมายจุลภาค 11211 คือหมายเลขพอร์ตที่ใช้โดยสตริง memcached [] เซิร์ฟเวอร์ = {"localhost: 11211″}; // รับวัตถุพูลลิงก์ ); pool.setfailover (จริง); pool.setinitconn (10); pool.setMinconn (5); pool.setMaxConn (250); // pool.setMaintSleep (30); pool.setNagle (เท็จ); setsocketto (3000); memcachedClient (); // ปิดการบันทึกไคลเอนต์ memcached ส่วนใหญ่: //logger.getLogger (memcachedClient.class.getName ()) .setlevel (com.schooner.memcached.logger) "" + i, "สวัสดี!"); string result = (String) mcc.get ("" + i); system.out.println (string.format ("set ( %d): %s", ความสำเร็จ); thread.sleep (10,000);} catch (exception ex) {} สำหรับ (int i = 0; i <10; i ++) {ความสำเร็จของบูลีน = mcc.set ("" + i, "สวัสดี!"); สตริงผลลัพธ์ = (สตริง) mcc.get ("" + i); string.format ("รับ ( %d): %s", i, result));}}} อินสแตนซ์ไคลเอนต์ Java ของ Memcached
แพ็คเกจ com.danga.memcached.test; นำเข้า com.danga.memcached.*; Public Class TestMemcached {โมฆะคงที่สาธารณะหลัก (String [] args) { /*เริ่มต้น sockiopool และจัดการพูลการเชื่อมต่อ memcached* / string [] เซิร์ฟเวอร์ = {"192.168.105.217:11211"}; Sockiopool Pool = Sockiopool.getInstance (); pool.setservers (เซิร์ฟเวอร์); pool.setfailover (จริง); pool.setInitConn (10); pool.setMinconn (5); pool.setMaxConn (250); pool.setMaintSleep (30); pool.setNagle (เท็จ); pool.setsocketto (3000); pool.setalivecheck (จริง); pool.initialize (); /*สร้างอินสแตนซ์ memcachedClient*/ memcachedClient memcachedClient = memcachedClient ใหม่ (); สำหรับ (int i = 0; i <10; i ++) { /*เพิ่มวัตถุลงในแคช memcached* / boolean success = memcachedClient.set (""+i, "สวัสดี!"); /*ดึงข้อมูลโดยค่าคีย์จากแคช memcached*/ string result = (string) memcachedClient.get ("" + i); System.out.println (string.format ("set ( %d): %s", i, ความสำเร็จ)); System.out.println (string.format ("รับ ( %d): %s", i, result)); - 1. การบีบอัด (ในตัวอย่างนี้คลายถึง C:/memcached)
2. ป้อนในสถานะบรรทัดคำสั่ง: C: /Memcached/Memcached.exe -D ติดตั้ง จนถึงตอนนี้ Memcached ได้รับการติดตั้งไว้ในบริการ Windows
3. Enter: C: /Memcached/Memcached.exe -d เริ่มต้นเพื่อเริ่มบริการ memcached แน่นอนคุณสามารถเลือกที่จะเริ่มในบริการ Windows