Redis
Redis เป็นโอเพ่นซอร์สฐานข้อมูลขนาดเล็ก ที่เก็บข้อมูลในรูปแบบ คีย์กับค่า หนึ่งค่าต้องมีคีย์กำกับ ประมาณนี้ครับ อยากรู้จักมากกว่านี้ต้องลองไปเล่นที่ try redis โดยข้อมูลที่อยู่ในนี้จะมี strings, hashes, lists, sets, และ sorted sets.
<a name="configuration"></a> ## การปรับแต่ง
การปรับแต่ง redis เราทำใน app/config/database.php ในนี้เราจะเห็นอาเรย์ชื่อ redis แบบนี้ครับ
1 'redis' => array(
2
3 'cluster' => true,
4
5 'default' => array('host' => '127.0.0.1', 'port' => 6379),
6
7 ),
โดยค่าเริ่มต้นเเล้ว ถูกตั้งให้สนับสนุนการพ้ฒนาบนเครื่อง เราสามารถปรับแต่งได้ตามใจครับ
อาเรย์ชื่อ cluster ใช้เพื่อบอกให้ redis ที่อยู่ในเครื่องทำการ client-side sharding ข้าม Redis nodes ของคุณ, ทำให้เราสามารถสร้าง ram จำนวนมากได้. แต่การทำ client-side sharding แต่เราไม่สามารถจับการ failover ได้
<a name="usage"></a> ## การใช้งาน
เราสามารถสร้างตัวแปรที่เป็นตัวแทนของเมทอด Redis::connection โดยการ
1 $redis = Redis::connection();
เรายังไม่ได้กำหนดชื่อ server redis ของเราต้องกำหนดก่อนนะครับ
1 $redis = Redis::connection('other');
ถ้าอยากศึกษาต่อไปที่นี้ครับ Redis commands ในการจัดการต่างๆ laravel มีฟังก์ชันต่างๆ มาให้เเล้วครับ:
1 $redis->set('name', 'Taylor');
2
3 $name = $redis->get('name');
4
5 $values = $redis->lrange('names', 5, 10);
ถ้าไม่ต้องการใช้คำสั่ง laravel ก็สามารถใช้เมทอด command ในการใช้คำสั่งของ redis ตรงๆได้
1 $values = $redis->command('lrange', array(5, 10));
คลาส Redis ที่เป็นตัว static คลาสครับ:
1 Redis::set('name', 'Taylor');
2
3 $name = Redis::get('name');
4
5 $values = Redis::lrange('names', 5, 10);
<a name="pipelining"></a> ## Pipelining
Pipelining คือการส่งคำสั่งหลายๆ ตัวไปยัง redis server laravel มีเมทอด pipeline มาให้ใช้
ตัวอย่าง
1 Redis::pipeline(function($pipe)
2 {
3 for ($i = 0; $i < 1000; $i++)
4 {
5 $pipe->set("key:$i", $i);
6 }
7 });