13 คะแนน โดย xguru 2024-11-15 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

แพ็กเกจโซลูชันแคชที่สามารถใช้งานได้ในหลากหลายโปรเจกต์

  • cacheable : เฟรมเวิร์กแคชยุคถัดไป ออกแบบและสร้างโดยคำนึงถึงการแคชแบบเลเยอร์ 1 / เลเยอร์ 2 ตั้งแต่ต้น เด่นด้านการแคชแบบกระจายและการขยายระบบ
  • cache-manager : ใช้งานในบริการอย่าง NestJS และมีความสามารถทรงพลัง เช่น wrap ถูกใช้อย่างแพร่หลายในแอปพลิเคชันหลากหลายประเภท
  • cacheable-request : เพิ่มความสามารถด้านแคชให้กับคำขอ HTTP แบบเนทีฟ รองรับแคชตาม RFC ทำให้ใช้แคชกับคำขอเครือข่ายได้ง่าย
  • flat-cache : แคชในหน่วยความจำที่รวดเร็วพร้อมความคงทนของที่เก็บแบบไฟล์ เข้าถึงข้อมูลในหน่วยความจำได้อย่างรวดเร็วและยังบันทึกข้อมูลแคชลงไฟล์ได้
  • file-entry-cache : แคชน้ำหนักเบาสำหรับเมตาดาต้าของไฟล์ เหมาะกับกระบวนการที่จัดการชุดไฟล์เฉพาะ โดยประมวลผลซ้ำเฉพาะไฟล์ที่เปลี่ยนแปลงหลังการรันครั้งล่าสุด
  • @cacheable/node-cache : แพ็กเกจทดแทน node-cache

Cacheable

  • เอนจินแคชประสิทธิภาพสูงแบบเลเยอร์ 1 / เลเยอร์ 2 ที่เน้นการแคชแบบกระจาย
  • มีแผนรองรับฟีเจอร์ระดับองค์กร เช่น CacheSync
  • มอบประสิทธิภาพที่แข็งแกร่งโดยอิงจากเอนจินจัดเก็บของ Keyv
  • แคชและเรียกค้นข้อมูลได้ด้วย API ที่เรียบง่าย
  • คุณสมบัติเด่น
    • มี API ที่เรียบง่ายและเข้าใจได้ทันที
    • โครงสร้างน้ำหนักเบาโดยไม่มีโมดูลที่ไม่จำเป็น
    • ใช้เอนจินจัดเก็บที่เชื่อถือได้และขยายระบบได้ของ Keyv
    • รองรับ Memory Caching ที่มี LRU (Least Recently Used) และแคชแบบหมดอายุ
    • โครงสร้างที่ทนทานต่อความขัดข้องด้วยการกู้คืนข้อผิดพลาดและรองรับออฟไลน์
    • รองรับ Wrap / Memoization สำหรับฟังก์ชันแบบ synchronous และ asynchronous
    • รองรับ Hooks และการจัดการอีเวนต์เพื่อขยายความสามารถ
    • ตั้งค่า TTL (ระยะเวลาหมดอายุ) ได้ง่ายในหน่วยมิลลิวินาที (1 นาที = 60000ms, 1 ชั่วโมง = 3600000ms, 1 วัน = 86400000ms)
    • รองรับการทำงานแคชเลเยอร์ 2 แบบ non-blocking
    • การซิงก์แคชแบบกระจายบนพื้นฐาน Pub/Sub (จะเปิดตัวเร็ว ๆ นี้)
    • มีการทดสอบอย่างครอบคลุมและมี code coverage
    • รองรับ ESM และ CommonJS และใช้งานร่วมกับ Typescript ได้

1 ความคิดเห็น

 
sunrabbit 2024-11-18

ก็ดูเหมือนว่าแค่แบ่งเลเยอร์เป็น primary กับ secondary ภายในแพ็กเกจ แล้วเก็บลงใน Keyv
ถ้าใครคาดหวังการแคชแบบเลเยอร์ 1 / เลเยอร์ 2 ในความหมายดั้งเดิม กดกลับได้เลยครับ