กลไก lockedLoadData ต้องการลดภาระบนเซิร์ฟเวอร์
ก่อนหน้านี้เมื่อล้างแคชการกำหนดค่าบนไซต์ที่โหลดสูงลูกค้าทั้งหมดได้สร้างข้อมูลเดียวกันที่เพิ่มการโหลด cpu / io อย่างมาก
ด้วย LockLoadData ลูกค้าเพียงรายเดียวเท่านั้นที่จะสร้างแคชและอื่น ๆ จะรอ
รายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำงาน
ฟังก์ชั่นแรกเรียก "รับข้อมูล" การเรียกกลับและถ้าได้รับข้อมูลมากกว่าแค่ส่งคืน (ดังนั้นหากข้อมูลในแคชรหัสทำงานเหมือนก่อนหน้านี้และไม่ใช้การล็อคใด ๆ )
หากข้อมูลไม่พร้อมใช้งานและการล็อคถูกล็อคอยู่ในลูปที่เราพยายามโหลดข้อมูลจนกว่าข้อมูลจะได้รับหรือล็อคถูกลบ
หากไม่มีการล็อคเราจะสร้างการล็อคและสร้างข้อมูลในการบันทึกในแคชและลบการล็อคและส่งคืนข้อมูล
PS: เราส่งการเปลี่ยนแปลงเหล่านี้เช่นแพทช์สำหรับหนึ่งในลูกค้าที่มีโหลดมากถึง 20kRPM และทำงานได้อย่างน้อย 3 เดือนโดยไม่มีปัญหาใด ๆ ดังนั้นอาจมีปัญหาในการปรับแต่ง / โมดูลของคุณ (ตัวอย่างเช่นหากพวกเขาทำกลไกแคชแตก)