Skip to content

แคชผลลัพธ์ของฟังก์ชั่นใน Python

  สวัสดีทุกท่านครับ บทความนี้จะพาผู้อ่านไปทำแคชผลลัพธ์ของฟังก์ชั่น (หรือ callables โดยทั่วไป) โดยใช้ decorators เพื่อให้คืนผลลัพธ์ที่เหมือนกันออกมาโดยที่ไม่ต้องคำนวณใหม่

  แคช (cache) เป็นข้อมูลส่วนที่ถูกเก็บซ้ำในคอมพิวเตอร์ เพื่อนำไปใช้งานในครั้งต่อไปโดยไม่ต้องเรียกหรือคำนวณข้อมูลใหม่ ช่วยให้การทำงานเป็นไปอย่างรวดเร็วขึ้น
  ใน Python เราสามารถทำแคชผลลัพธ์ของฟังก์ชั่นได้ด้วยโมดูลที่มีชื่อว่า percache (เป็น MIT License) รองรับทั้ง Python 2 และ Python 3 ครับ
สามารถติดตั้งโดยใช้คำสั่ง pip :

pip install percache

ตัวอย่างการใช้งาน

>>> import percache
>>> cache = percache.Cache("/cache/") #ที่เก็บไฟล์ Cache
>>>
>>> @cache
... def longtask(a, b):
...   print("running a long task")
...   return a + b
...
>>> longtask(1, 2)
running a long task
3
>>> longtask(1, 2)
3
>>> cache.close() #ปิดการแคชเพื่อทำงานใหม่

อ่านรายละอียดเพิ่มเติมได้ที่ https://bitbucket.org/obensonne/percache/
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

Published on Categories ไม่มีหมวดหมู่

About wannaphong

วรรณพงษ์ ภัททิยไพบูลย์ ผู้ดูแลเว็บ wannaphong.com และผู้เขียนบทความบล็อกนี้ นักศึกษาชั้นปีที่ 1 สาขาวิทยาการคอมพิวเตอร์และสารสนเทศ คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *