Simple Cache

Cache library ตัวนี้ใช้การ cache ผ่านหลากหลาย driver ซึ่งรองรับทั้งแบบ APC, APCu, Memcache, Memcached, และแบบเก็บลงไฟล์ เหมาะสำหรับในกรณีที่ server ไม่มีระบบ cache อื่นใดติดตั้งอยู่

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

cache class ตัวนี้สามารถเก็บข้อมูลได้ทุกประเภท เช่น string, integer, array, object โดยสามารถกำหนดวันหมดอายุได้ มันจะไม่ทำการเก็บ cache ไว้ตลอดไป ซึ่งทำให้ใช้งานได้สะดวกมาก

Download

Download v. 2.0 (แนะนำ) หรือ ติดตั้งผ่าน Composer

อ้างอิง เอกสาร API

License: MIT

รุ่นที่เก่ากว่า

v. 1.0

วิธีติดตั้ง

นำไฟล์แตกออกจากแพ็คลงในตำแหน่ง directory บน www ที่คุณต้องการ. ทำการตั้งค่า permission (chmod) directory "cache" เป็น 777 เช่น /webroot/simple-cache/cache

การใช้งาน

การอธิบายการใช้งานต่อไปนี้จะอ้างอิงจาก v. 2. โค้ดตัวอย่างการใช้งานเพิ่มเติมสามารถเปิดดูได้จากในโฟลเดอร์ tests ในแพ็คเกจที่ได้ดาวน์โหลดไป


<?php
// กรณีไม่ได้ติดตั้งผ่าน Composer ต้อง require file interface และ driver ที่จะใช้
require dirname(dirname(__DIR__)).'/Rundiz/SimpleCache/SimpleCacheInterface.php';
require dirname(dirname(__DIR__)).'/Rundiz/SimpleCache/Drivers/FileSystem.php';

// start new class
$SimpleCache = new \Rundiz\SimpleCache\Drivers\FileSystem();

if (false === $val = $SimpleCache->get('string-cache')) {
    $data = 'this is string text.';
    $val = $data;
    $SimpleCache->save('string-cache', $data, 70);
} else {
    echo '<strong>cached:</strong> ';
}
echo $val;

จากตัวอย่างด้านบน จะทำการ include ไฟล์ Interface คือ SimpleCacheInterface.php แล้วตามด้วย file cache driver ที่ต้องการใช้เสียก่อน แล้วจึงเริ่ม class ใหม่* (กรณีนี้จำเป็นต้อง include หรือ require เมื่อไม่ได้ติดตั้งผ่าน Composer เท่านั้น, หากติดตั้งผ่าน Composer มันจะทำการ autoload ให้เลย ไม่ต้องเขียน require/include อีก.)
เริ่มทำการเรียกข้อมูล cache มาตรวจ หากยังไม่เคยมีการเก็บข้อมูลมาก่อน ก็ต้องประมวลผล แล้วเก็บผลลัพธ์ลงในตัวแปรตัวอย่าง คือ $data และนำค่านั้น save ลง cache ต่อไป โดยตัวเลข 70 คือจำนวนวินาทีที่จะเก็บไว้

ตารางอ้างอิง property & method

ชื่อ ค่า parameter รายละเอียด
clear() คำสั่งล้าง cache ทั้งหมด
delete(string $id) $id $id คือรหัสสำหรับ cache ของชุดข้อมูลนั้นๆ โดยให้กำหนดเอาเอง
get(string $id) $id $id คือรหัสสำหรับ cache ของชุดข้อมูลนั้นๆ โดยให้กำหนดเอาเอง
save(string $id, mixed $data[, integer $ttl = 60]) $id, $data, $ttl $id คือรหัสสำหรับ cache ของชุดข้อมูลนั้นๆ โดยให้กำหนดเอาเอง
$data คือข้อมูลที่จะส่งเข้ามาเก็บ cache โดยส่งมาได้ทุกประเภท ทั้ง array,string, integer, object
$ttl กำหนดวินาทีที่จะหมดอายุ

สำหรับผู้ใช้ File system cache driver หากต้องการกำหนดตำแหน่งเก็บไฟล์ cache เอง สามารถทำได้โดยกำหนดในขั้นตอนการเริ่ม class ตัวอย่างเช่น


<?php
$SimpleCache = new \Rundiz\SimpleCache\Drivers\FileSystem('/full/path/to/your/cache/folder');

 

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>