FinchUI เว็บไซต์หลายภาษาปลั๊กอินจะบันทึกผลการแปลข้อความไปยังไฟล์ในเครื่อง เมื่อพบข้อความต้นฉบับและภาษาเป้าหมายเดียวกันอีกครั้งปลั๊กอินจะอ่านแคชโดยตรงและไม่ร้องขออินเทอร์เฟซการแปลของบุคคลที่สามอีกต่อไป
ไดเร็กทอรีแคชการแปลข้อความ: zb_user/cache/fui_multilang/ ไดเร็กทอรีแคชอัตราแลกเปลี่ยน: zb_user/cache/fui_multilang_Currency /

1. ตรวจสอบว่ามีการสร้างไฟล์แคชหรือไม่
เมื่อไปยังหน้าเว็บที่เปิดใช้งานภาษาที่ไม่ใช่ค่าเริ่มต้นและมีข้อความที่จะแปลให้ดูที่ zb_user/cache/fui_multilang/ ไดเรกทอรีจะถูกแบ่งชั้นตามภาษาเป้าหมายและคำนำหน้าแฮชเช่น:
fui_multilang/
└── en/
└── ab/
└── cd/
└── abcdef...jsonแต่ละไฟล์. json มักจะสอดคล้องกับย่อหน้าของข้อความที่แปลสำเร็จและเนื้อหาของไฟล์จะมีผลการแปล:
{
"time": 1780000000,
"text": "Translated text"
}ไฟล์ JSON ใหม่ปรากฏขึ้นหลังจากเปิดเพจเป็นครั้งแรก โดยระบุว่าผลการแปลถูกเขียนลงในแคชเรียบร้อยแล้ว
2. ใช้หน้าเดียวกันเพื่อเข้าถึงการตรวจสอบสองครั้ง
- ล้างแคชการแปลในพื้นหลังของปลั๊กอิน
- บันทึกจำนวนคำขอหรือการใช้อักขระในพื้นหลังของผู้ให้บริการแปล
- ไปยังหน้าภาษาที่ไม่ใช่ภาษาเริ่มต้นที่มีข้อความภาษาจีนเช่นหน้าภาษาอังกฤษ
- ยืนยันไฟล์ JSON ใหม่ในไดเร็กทอรีแคชและบันทึกปริมาณการใช้ของผู้ให้บริการแปลอีกครั้ง
- เยี่ยมชมหน้าเดียวกันอีกครั้ง
ผลลัพธ์ที่คาดหวัง: การเข้าถึงครั้งที่สองควรกระทบกับแคชในเครื่องโดยตรง บนสมมติฐานที่ว่าเนื้อหาหน้า ภาษาเป้าหมาย และระยะเวลาที่ถูกต้องของแคชไม่เปลี่ยนแปลง จำนวนคำขอหรือการใช้อักขระของผู้ให้บริการแปลไม่ควรเพิ่มขึ้นอย่างต่อเนื่อง
3. วิธีเข้าใจไดเร็กทอรีแฮชเปล่า
เวอร์ชันปัจจุบันจะสร้างไดเร็กทอรีแฮชสองระดับเมื่อได้รับการแปลสำเร็จหรือเมื่อจำเป็นต้องบันทึกสถานะความล้มเหลวในการแปลระยะสั้น ดังนั้นไดเร็กทอรีแฮชที่สร้างขึ้นใหม่ควรมีไฟล์ JSON ที่เกี่ยวข้อง
- การอ่านแคช การตรวจสอบความล้มเหลวของแคช และการสแกนล่วงหน้าของส่วนที่จะแปลในหน้าแรกจะคำนวณเฉพาะเส้นทางของไฟล์เท่านั้น และจะไม่สร้างไดเรกทอรีภาษาหรือแฮช
- หลังจากที่อินเทอร์เฟซการแปลส่งคืนการแปลที่ไม่ว่างเปล่าปลั๊กอินจะเขียนข้อความเพื่อแปลไฟล์ JSON
- เมื่อคำขอจริงของอินเทอร์เฟซการแปลล้มเหลว ปลั๊กอินจะเขียนลงในแคชสั้น ๆ ล้มเหลว.json เพื่อหลีกเลี่ยงคำขอซ้ำชั่วคราว ไฟล์จะลองอีกครั้งโดยอัตโนมัติหลังจากหมดอายุ
- ไดเร็กทอรีว่างที่เหลือจากเวอร์ชันเก่าจะไม่ส่งผลต่อการแคชและไม่ได้หมายความว่าแคชสำเร็จ
ไดเร็กทอรีว่างที่มีอยู่ก่อนการอัปเกรดสามารถเก็บไว้หรือล้างข้อมูลเมื่อได้รับการยืนยันว่าไม่มีคำขอเขียนแคช หลังจากการอัปเกรดการเข้าถึงปกติไม่ควรเพิ่มไดเร็กทอรีแฮชว่างต่อไปเนื่องจากแคชพลาดหรือขีด จำกัด บนของชิ้นส่วน เมื่ออินเทอร์เฟซล้มเหลวจริง ๆ ไฟล์แคชที่ล้มเหลวระยะสั้นจะถูกเขียนแทนที่จะปล่อยให้ไดเร็กทอรีว่าง
4. สถานการณ์ใดบ้างที่ต้องมีการตรวจสอบเพิ่มเติม
หากไดเร็กทอรีว่างยังคงเพิ่มขึ้นอย่างรวดเร็ว แต่ไม่มีการสร้างไฟล์ JSON บนหน้าภาษาที่เกี่ยวข้อง หรือจำนวนผู้ให้บริการแปลยังคงเพิ่มขึ้นทุกครั้งที่เข้าชมหน้าเดียวกัน คุณควรตรวจสอบ:
- ไม่ว่าจะเป็นการกำหนดค่าคีย์พื้นที่และลายเซ็นของอินเทอร์เฟซการแปลถูกต้องหรือไม่
- การทดสอบอินเทอร์เฟซการแปลในพื้นหลังของปลั๊กอินสำเร็จหรือไม่
- เซิร์ฟเวอร์สามารถเข้าถึงอินเทอร์เฟซของผู้ให้บริการแปลภาษาได้หรือไม่
- ข้อความที่จะแปลบนหน้าเกินขีด จำกัด บนของส่วนการแปลหน้าเดียวที่ตั้งไว้ในพื้นหลังหรือไม่
- แคชไดเร็กทอรีและไดเร็กทอรีที่เหนือกว่ามีสิทธิ์เขียนกระบวนการ PHP หรือไม่
- กำหนดวันหมดอายุของแคชสั้นเกินไปหรือไม่ หรือมีการล้างข้อมูลด้วยตนเองบ่อยครั้งหรือไม่
5. ระยะเวลาที่ถูกต้องของแคชและเวลาของไฟล์
ระยะเวลาที่ใช้งานได้ของแคชจะถูกควบคุมโดย "วันแคชการแปล" ในพื้นหลังโดยมีค่าเริ่มต้น 30 วัน ไฟล์แคชที่เกินระยะเวลาที่ใช้งานได้จะหมดอายุและถูกลบในระหว่างการอ่านครั้งต่อไปหรือการล้างข้อมูลแบบสุ่ม อินเทอร์เฟซการแปลจะถูกเรียกอีกครั้งในครั้งต่อไปที่คุณต้องการข้อความนี้
เมื่อแคชถูกโจมตีปลั๊กอินจะรีเฟรชเวลาแก้ไขไฟล์ทุก ๆ 6 ชั่วโมงอย่างมากที่สุด ดังนั้นจึงเป็นเรื่องปกติที่จะเข้าถึงหน้าเดียวกันอย่างต่อเนื่องในช่วงเวลาสั้น ๆ และเวลาแก้ไขของไฟล์ JSON จะไม่เปลี่ยนแปลง
เคล็ดลับ: หากคุณต้องการล้างไดเร็กทอรีเปล่าเท่านั้น คุณสามารถดำเนินการได้หลังจากยืนยันว่าไม่มีคำขอให้เขียนแคช อย่างไรก็ตาม "การล้างแคชการแปล" ผ่านพื้นหลังปลั๊กอินจะล้างแคช JSON ที่ถูกต้องพร้อมกัน จากนั้น หน้าการเข้าถึงจะสร้างคำขอแปลใหม่





เพิ่มบริการลูกค้า qq
ความคิดเห็นของชาวเน็ต