จีน |. อังกฤษ
/$$$$$$ /$$ /$$ /$$$$$$$
/$$__ $$| $$$ /$$$| $$__ $$
| $$ __/| $$$$ /$$$$| $$ $$ /$$$$$$ /$$$$$$ /$$ /$$ /$$ /$$
| $$$$$$ | $$ $$/$$ $$| $$$$$$$//$$__ $$ /$$__ $$| $$ /$$/| $$ | $$
____ $$| $$ $$$| $$| $$____/| $$ __/| $$ $$ $$$$/ | $$ | $$
/$$ $$| $$ $ | $$| $$ | $$ | $$ | $$ >$$ $$ | $$ | $$
| $$$$$$/| $$ / | $$| $$ | $$ | $$$$$$/ /$$/ $$| $$$$$$$
______/ |__/ |__/|__/ |__/ ______/ |__/ __/ ____ $$
/$$ | $$
| $$$$$$/
______/
พูลการเชื่อมต่อฐานข้อมูล MySQL ที่พัฒนาโดย Swoole โดยใช้โปรโตคอล MySQL
จัดเก็บการเชื่อมต่อฐานข้อมูลเป็นวัตถุในหน่วยความจำ เมื่อผู้ใช้ต้องการเข้าถึงฐานข้อมูล การเชื่อมต่อจะถูกสร้างขึ้นเป็นครั้งแรก แทนที่จะสร้างการเชื่อมต่อใหม่ วัตถุการเชื่อมต่อที่ไม่ได้ใช้งานที่สร้างขึ้นจะถูกนำออกจากพูลการเชื่อมต่อ หลังการใช้งาน ผู้ใช้จะไม่ปิดการเชื่อมต่อ แต่นำการเชื่อมต่อกลับเข้าไปในพูลการเชื่อมต่อสำหรับคำขอถัดไป การสร้างและการตัดการเชื่อมต่อได้รับการจัดการโดยพูลการเชื่อมต่อเอง
ในเวลาเดียวกัน คุณยังสามารถควบคุมจำนวนการเชื่อมต่อเริ่มต้นในกลุ่มการเชื่อมต่อ ขีดจำกัดบนและล่างของการเชื่อมต่อ จำนวนการใช้งานสูงสุดของแต่ละการเชื่อมต่อ เวลาไม่ได้ใช้งานสูงสุด ฯลฯ โดยการตั้งค่าพารามิเตอร์ของการเชื่อมต่อ สระน้ำ. นอกจากนี้ยังสามารถตรวจสอบจำนวน การใช้งาน ฯลฯ ของการเชื่อมต่อฐานข้อมูลผ่านกลไกการจัดการของตัวเอง หากเกินจำนวนการเชื่อมต่อสูงสุด โครูทีนจะถูกระงับ และโครูทีนจะกลับมาทำงานต่อจนกว่าการเชื่อมต่อจะปิดเพื่อดำเนินการต่อไป
PHP ไม่มีพูลการเชื่อมต่อ ดังนั้นฐานข้อมูลจะเต็มไปด้วยการเชื่อมต่อเมื่อมีการทำงานพร้อมกันสูง มิดเดิลแวร์ฐานข้อมูล เช่น Mycat จะทำให้ SQL บางส่วนใช้งานไม่ได้ ตัวอย่างเช่น ไม่รองรับการเพิ่มแบทช์ และล้นเกินไป ดังนั้นฉันจึงเขียนมิดเดิลแวร์แบบน้ำหนักเบานี้ด้วยตัวเองซึ่งรองรับเฉพาะการรวมการเชื่อมต่อและการแยกการอ่าน-เขียนเท่านั้น การใช้ Swole coroutine เพื่อกำหนดเวลาการส่งต่อโปรโตคอล HandshakeV10 ทำให้โปรแกรมมีความเสถียรมากขึ้น โดยไม่จำเป็นต้องแยกวิเคราะห์เนื้อหาของแพ็คเกจ SQL ทั้งหมด เช่น Mycat ซึ่งจะเพิ่มความซับซ้อน
เพราะคุณ SMProxy จึงสามารถมาถึงจุดนี้ได้
ขอขอบคุณผู้สนับสนุนของเราทุกคน!
สนับสนุนโครงการนี้ด้วยการเป็นผู้สนับสนุน โลโก้ของคุณจะปรากฏที่นี่พร้อมลิงก์ไปยังเว็บไซต์ของคุณ