node.js ใช้งานร่วมกับ database redis

node.js ใช้งานร่วมกับ database redis

ก็ขอไม่พูดถึงเรื่องของ database nosql redis นะครับ สามารถอ่านบทความเก่าได้ วันนี้ จะมาพูดถึงการประยุกต์ใช้เลย (และถือว่า ได้ติดตั้ง redis เอาไว้ในเครื่อง พร้อมใช้แล้วนะครับ)

การใช้งาน redis ใน node.js 

แน่นอน ว่าเราจะต้องติดตั้ง package redis ก่อน เหมือนตัวอย่างก่อนหน้า ที่สั่งติดตั้ง MySQL ก่อนนำมาใช้งานใน node.js ครับ

ติดตั้ง redis ใน node.js

สั่งด้วยคำสั่ง

npm install redis

ทั้งนี้ สามารถอ่านคู่มือได้จาก https://github.com/mranney/node_redis

การเรียกใช้งาน redis

var redis  = require("redis"),
    redis_client = redis.createClient();
    
redis_client.set("user:test", "string val", redis.print);

ถ้าเรารัน คำสั่งนี้ คือการกำหนดค่า string val เข้าไปใน key ที่ชื่อว่า user:test สำหรับการอ่านค่าออกมาจาก redis ทำได้ดังนี้ครับ

var redis  = require("redis"),
    redis_client = redis.createClient();

redis_client.get("user:test", function(err, reply) {
    console.log(reply);
});

จะเห็นว่าเราจะได้ string val ออกมา

ทั้งนี้ถ้าสังเกตุดีๆ จากสองตัวอย่าง จะเห็นว่า เราสั่ง .set และ .get ซึ่งสองคำสั่งนี้ มันคือ redis command นะครับ ซึ่งอ้างอิงทั้งหมดได้จาก http://redis.io/commands ผมเข้าใจว่า น่าจะมีครบเกือบทุก command ตามที่ redis ให้เราใช้นะครับ เพราะว่าผมเองก็ยังไม่เคยทดสอบใช้จนครบสักที แต่ก็ทำงานใหญ่ๆได้อย่างไม่มีปัญหาครับ เพราะว่าโดยพื้นฐานทำงานได้ครบหมด

ทีนี้ ที่อยากให้สังเกตุเพิ่มเติม ก็คือ parameter ที่เราจะต้องกรอกเข้าไปในแต่ละ command เพราะว่า มันไม่เท่ากัน อย่างเช่น set ใช้ 2 parameter คือ ชื่อ key กับ ค่าที่จะเก็บ แต่ get ใช้ parameter ตัวเดียวคือ ชื่อ key ที่ต้องการเท่านั้น แต่บางตัวอาจจะใช้ถึง 4 parameter เลย ก็ต้องเขียนให้ครบด้วยครับ 

สำหรับการทำงานแบบ asynchronous หรือ แบบ synchronous นั้น เดิมๆ redis จะทำงานแบบ asynchronous เลยนะครับ ดังนั้น เรียกลำดับ และสั่ง call back ตามลำดับให้ถูกต้องด้วยครับ โปรแกรมจะได้ไม่รวน

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

Create: Modify : 2013-11-04 07:17:25 Read : 3332 URL :