Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

บทนำสู่การแคชจากการแคชที่ Scale Primer

ด้วยประสบการณ์มากกว่า 34 ปีในการออกแบบและสร้างแอปพลิเคชัน SaaS ลี อัตชิสัน เป็นผู้นำทางความคิดและผู้เชี่ยวชาญด้านการปรับแอปพลิเคชันให้ทันสมัย ​​การโยกย้ายระบบคลาวด์ และการเปลี่ยนแปลง DevOps คุณสามารถอ่านหรือชมความเชี่ยวชาญของเขาที่จัดแสดงผ่านหนังสือสามเล่มของเขา บทความที่ตีพิมพ์มากกว่า 70 บทความ หรือการนำเสนอ ชั้นเรียน และการสัมมนากว่า 100 รายการ

คุณและทีมของคุณได้พัฒนาแอปพลิเคชันที่คู่ควรกับความสนใจของผู้คน ปากต่อปากแพร่กระจายและความนิยมก็พุ่งสูงขึ้น แต่ค่าใช้จ่ายในการดำเนินการเริ่มพุ่งสูงขึ้น แอปขัดข้องอย่างต่อเนื่อง และลูกค้าทำสิ่งที่คิดไม่ถึง—พวกเขาทวีตเกี่ยวกับความเร็วที่ช้ามาก

เมื่อฐานลูกค้าของคุณเติบโตขึ้น คุณจะป้องกันต้นทุนไม่ให้สูงขึ้นได้อย่างไร คุณยินดีรับความท้าทายของการปรับขนาด แต่คุณก็ไม่สามารถเสียสละการเติบโตเพื่ออัตราการเฟลโอเวอร์ที่สูงขึ้นและค่าบำรุงรักษาที่เพิ่มขึ้นได้

สิ่งหนึ่งที่แน่นอน:คุณต้องมีแคชของแอปพลิเคชัน

แคชคืออะไร?

“แคชเป็นองค์ประกอบการจัดเก็บข้อมูลที่สามารถเข้าถึงได้เร็วกว่าหรือมีประสิทธิภาพมากกว่าแหล่งข้อมูลดั้งเดิม”

Lee Atchison, Caching at Scale With Redis.

เมื่อมีการร้องขอให้ดึงข้อมูล แคชจะให้สำเนาของข้อมูลนั้นในแบบเรียลไทม์ และเมื่อมีลูกค้าเริ่มใช้แอปของคุณมากขึ้นเรื่อยๆ คุณต้องมีสถาปัตยกรรมแอปพลิเคชันขั้นสูงที่สามารถจัดการคำขอข้อมูลที่เพิ่มขึ้นเหล่านั้นได้โดยไม่ต้องไปมาระหว่างที่เก็บข้อมูลหลักของคุณ

Lee สรุปง่ายๆ ว่า “โลกสมัยใหม่ของเราต้องการการใช้งานที่ทันสมัย”

ไม่เป็นความลับที่ลูกค้าต้องการประสิทธิภาพที่ดีขึ้นและดีขึ้น หากแอปพลิเคชันของคุณไม่เป็นไปตามความคาดหวังของลูกค้า ลูกค้าเหล่านั้นก็จะออกไปและแห่กันไปที่คู่แข่งของคุณ

และเบื้องหลังของทุกแอปพลิเคชันที่รวดเร็วและใช้งานง่ายคือชิ้นส่วนที่เคลื่อนไหวได้มากมาย ดังที่ลีกล่าวไว้ว่า "แอปพลิเคชันในวันนี้ต้องสามารถจัดการข้อมูลจำนวนมาก ดำเนินการที่ซับซ้อน รักษาความสัมพันธ์มากมายระหว่างองค์ประกอบข้อมูล และดำเนินการในสถานะที่แตกต่างกันและแตกต่างกันระหว่างธุรกรรม"

อาการปวดหัวเกิดขึ้นได้ภายในแอปพลิเคชันที่ซับซ้อน และมีแคชไว้เพื่อย่อให้เล็กสุด

อ่าน การแคชตามขนาดด้วย Redis 

ใน การแคชตามขนาดด้วย Redis , Lee ขอแนะนำว่าการแคชคืออะไร เหตุใดและเมื่อใดที่คุณต้องการ และแนวทางปฏิบัติในการแคชที่จะช่วยให้แอปพลิเคชันของคุณได้รับประสิทธิภาพสูงสุด

บทนำสู่การแคชจากการแคชที่ Scale Primer

เมื่อผู้ใช้ร้องขอข้อมูลจากบริการ การดำเนินการจะได้รับข้อมูลนั้นจากร้านค้า แล้วส่งต่อข้อมูลนั้นกลับไปยังผู้บริโภค Lee ตั้งข้อสังเกตว่าการดำเนินการเหล่านี้อาจต้องใช้ทรัพยากรและเวลามาก โดยเฉพาะอย่างยิ่งหากมีการดึงข้อมูลเดิมซ้ำแล้วซ้ำอีก

“แทนที่จะใช้แคช ในครั้งแรกที่มีการดำเนินการที่ซับซ้อน ผลลัพธ์จะถูกส่งคืนไปยังผู้บริโภค และสำเนาของผลลัพธ์จะถูกเก็บไว้ในแคช ในครั้งต่อไปที่จำเป็นต้องใช้ข้อมูล แทนที่จะดำเนินการที่ซับซ้อนซ้ำแล้วซ้ำอีก สามารถดึงผลลัพธ์ออกจากแคชได้โดยตรงและส่งคืนให้ผู้บริโภคเร็วขึ้นและใช้ทรัพยากรน้อยลง”

อะไรคือการแก้ไขแคช—แต่ทำไมมันไม่สมบูรณ์แบบ

การแคชไม่ใช่ที่เก็บข้อมูลขนาดเดียวที่เหมาะกับทุกคน สถาปัตยกรรมแอปพลิเคชันแตกต่างกันไปตามแต่ละบอร์ด โดยเฉพาะอย่างยิ่งเนื่องจากขนาดของแอป หรือแม้แต่กรณีการใช้งานในอุตสาหกรรม อย่างไรก็ตาม Lee กล่าวว่ามีคุณลักษณะหลักสี่ประการที่การแคชจะช่วยปรับปรุง:

  • ประสิทธิภาพ 
  • การปรับขนาด
  • การเพิ่มประสิทธิภาพทรัพยากร
  • ความสะดวกและความพร้อมใช้งาน

ไม่ได้หมายความว่าการใช้แคชจะมอบสิ่งเหล่านี้ให้คุณโดยอัตโนมัติ

"ในหลายกรณี การแคชอาจไม่เพิ่มมูลค่า และในบางกรณี การแคชอาจทำให้ประสิทธิภาพลดลง" Lee กล่าว เขายกปัญหาที่อาจเกิดขึ้นสามประการ:

  1. การแคชอาจทำให้แอปพลิเคชันไม่ดำเนินการตามผลข้างเคียงที่ต้องการของการดำเนินการเป้าหมาย
  2. ข้อมูลไม่สอดคล้องกันในแคช
  3. ประสิทธิภาพของแคชไม่ดี

Lee ตั้งข้อสังเกตว่าตัวแปรบางอย่างจะต้องเป็นจริงเพื่อให้แคชมีประโยชน์ (ดูหน้า 8 ของ e-book สำหรับรายการกฎ) "เพื่อให้แคชมีประสิทธิภาพ คุณต้องมีความเข้าใจอย่างถ่องแท้เกี่ยวกับการกระจายการเข้าถึงข้อมูลทางสถิติจากแอปพลิเคชันหรือแหล่งข้อมูลของคุณ" Lee กล่าว

นำเสนอตัวเองด้วย playbook แคชขั้นสูงสุด

ตอนนี้คุณรู้แล้วว่าคุณต้องการแคช e-book ฟรีเล่มนี้เป็นไพรเมอร์เพียงตัวเดียวที่คุณต้องใช้เพื่อสร้างและปรับขนาดแคชของคุณด้วย Redis

จากตัวลีเอง:“หนังสือเล่มนี้อธิบายว่าการแคชคืออะไร เหตุใดจึงเป็นรากฐานสำคัญของแอปพลิเคชันสมัยใหม่ขนาดใหญ่ที่มีประสิทธิภาพ และวิธีที่ Redis สามารถช่วยให้คุณตอบสนองความต้องการแคชที่ต้องการเหล่านี้ได้”

ในขณะที่คุณดำดิ่งสู่ e-book การแคชตามมาตราส่วนด้วย Redis อภิปรายเกี่ยวกับกลยุทธ์การแคชประเภทต่างๆ และให้คำอธิบายเชิงปฏิบัติว่ากลยุทธ์เหล่านี้เหมาะสมกับคุณอย่างไร โดยเฉพาะอย่างยิ่งหากคุณอยู่ในระบบคลาวด์

"ในขณะที่มีวิธีการ กระบวนการ และเทคนิคมากมายในการสร้างแอปพลิเคชันให้มีความพร้อมใช้งานสูงตามขนาด การแคชเป็นเทคนิคหลักในเกือบทั้งหมด" Lee กล่าว

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ e-book โปรดไปที่ หน้า