Using Redis with Django REST framework

การใช้ Redis กับ Django REST framework เป็นหนึ่งในวิธีที่น่าสนใจในการปรับปรุงประสิทธิภาพและการจัดการข้อมูลในแอปพลิเคชันของคุณ เราสามารถใช้ Redis เพื่อเก็บข้อมูลชั่วคราว (caching) เพื่อลดการเรียกข้อมูลจากฐานข้อมูลหลัก และเพิ่มความเร็วในการตอบสนองของระบบ

รูปแบบการทำงานออกแบบไว้ประมาณนี้

1.Webview (หน้าเว็บ):

  • Webview คือส่วนของแอปพลิเคชันที่ผู้ใช้สามารถเข้าถึงผ่านเว็บเบราว์เซอร์ เป็นตัวแสดงผลและช่องทางในการติดต่อกับ API ของคุณผ่าน HTTP requests

2.API (Django REST framework):

  • Django REST framework เป็นส่วนของโค้ดที่จัดการการเรียกใช้ API ของคุณ มันจะรับข้อมูลจาก Webview ผ่าน HTTP requests และประมวลผลข้อมูลดังกล่าว และส่งข้อมูลกลับไปยัง Webview ในรูปแบบที่เหมาะสม (เช่น JSON format)

3.Redis:

  • Redis ใช้เป็นระบบ caching ที่ช่วยลดการเรียกข้อมูลจากฐานข้อมูลหลัก โดยจะเก็บข้อมูลที่ถูกเรียกบ่อยๆ ไว้ในหน่วยความจำชั่วคราว เมื่อมีการเรียกข้อมูลจาก Webview ผ่าน API, ข้อมูลนั้นจะถูกค้นหาใน Redis ก่อนที่จะถูกดึงมาจาก MySQL หากข้อมูลมีอยู่ใน Redis ข้อมูลจะถูกส่งกลับไปที่ API โดยตรง และไม่ต้องไปดึงข้อมูลจาก MySQL อีกครั้ง

4.MySQL:

  • MySQL เป็นฐานข้อมูลที่ใช้เก็บข้อมูลของแอปพลิเคชัน มันจะถูกใช้เมื่อข้อมูลที่ต้องการไม่มีอยู่ใน Redis ซึ่งจะเกิดขึ้นเมื่อมีการเรียกข้อมูลใหม่ๆ หรือข้อมูลที่ไม่ได้ถูกเก็บใน Redis


  • Webview ส่ง HTTP requests ไปยัง API ของ Django REST framework
  • API จะตรวจสอบว่าข้อมูลที่ถูกเรียกอยู่มีอยู่ใน Redis หรือไม่
  • หากข้อมูลมีอยู่ใน Redis, API จะส่งข้อมูลกลับไปที่ Webview โดยตรงจาก Redis
  • หากข้อมูลไม่มีอยู่ใน Redis, API จะดึงข้อมูลจาก MySQL และจัดเก็บข้อมูลนั้นใน Redis ก่อนที่จะส่งกลับไปยัง Webview ผ่าน HTTP response


เริ่ม

ข้อมูลเพิ่มเติม

https://gist.github.com/ummaraali2/0a3e31adec6f8d90f442f9ed3c067016

0
39