Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

เชี่ยวชาญ Redis: คู่มือสำหรับ In-Memory Databases

In-Memory Database คืออะไร?

In-memory database คือระบบจัดการฐานข้อมูลที่พึ่งพาหน่วยความจำหลัก (main memory) สำหรับการจัดเก็บข้อมูลของคอมพิวเตอร์ In-memory databases เร็วกว่า disk-optimized databases เพราะการเข้าถึงดิสก์ช้ากว่าการเข้าถึงหน่วยความจำ การเข้าถึงข้อมูลในหน่วยความจำกำจัด seek time เมื่อสืบค้นข้อมูล ทำให้ได้ประสิทธิภาพที่เร็วกว่าและคาดเดาได้มากกว่าดิสก์ มี in-memory databases หลายตัวสำหรับใช้งานกับ license ต่างๆ ในบทความนี้ เราจะพูดถึง Redis ซึ่งเป็นหนึ่งใน in-memory databases ที่ 유명และเป็น open source ก่อนเริ่มกับ Redis เราจะดูข้อดีหลักของ in-memory database

ข้อดีของ In-Memory Database

  • ช่วยในการจัดการ Big Data
  • อนุญาตให้ real-time updates ทำให้ธุรกิจเข้าถึงข้อมูลได้ในขณะที่เกิดขึ้น
  • ใช้กับแอปพลิเคชันที่ต้องการการเข้าถึงข้อมูล การจัดเก็บ และการจัดการที่เร็วมาก
  • In-memory database ไม่เพียงแต่ช่วยให้ query response times เร็วขึ้น แต่ยังลดหรือกำจัดความจำเป็นในการ indexing ข้อมูลและการเก็บ pre-aggregated data ใน OLAP cubes หรือ aggregate tables

Redis

Redis เป็นโปรเจกต์ in-memory database แบบ open-source ที่นำ distributed, in-memory key-value store มาใช้งานพร้อม durability แบบ optional Redis รองรับโครงสร้างข้อมูลนามธรรมหลายชนิด เช่น strings, lists, maps, sets, sorted sets, hyperlog, bitmaps และ spatial indexes รายละเอียดเพิ่มเติมได้ที่ Redis In-Memory Database

เพื่อใช้ Redis in-memory database ในแอปพลิเคชันของเรา เราต้องติดตั้ง Redis database ก่อน สามารถดาวน์โหลดได้ที่ Download latest version of Redis In-Memory Database เมื่อพร้อมแล้ว มาสร้าง console application 簡單เพื่อดูการทำงาน

ขั้นตอนที่ 1. เปิด Visual Studio (ที่นี่ใช้ Microsoft Visual Studio 2015 Community Edition) คลิก File - New - Project สำหรับ demo สร้าง console application

เชี่ยวชาญ Redis: คู่มือสำหรับ In-Memory Databases

ขั้นตอนที่ 2. เพื่อเชื่อมต่อกับ Redis ต้องดาวน์โหลด Redis Client จาก NuGet Package ใน Solution Explorer คลิกขวาที่ references แล้ว Manage NuGet Packages เปิด NuGet Package Manager ค้นหา ServiceStack.Redis.Complete และติดตั้ง

เชี่ยวชาญ Redis: คู่มือสำหรับ In-Memory Databases

ขั้นตอนที่ 3. ตอนนี้พร้อมกับ Redis environment แล้ว มาเขียนโค้ด สร้าง 2 static functions: หนึ่งสำหรับ insert ค่าเข้า Redis DB อีกหนึ่งสำหรับอ่านจาก DB

โค้ดสำหรับเก็บข้อมูลใน Redis database:

///<summary>
///ToSaveKeyValuePairinRedisDB
///</summary>
///<paramname="host">RedisHostName</param>
///<paramname="key">Keyasstring</param>
///<paramname="value">Valueasstring</param>
///<returns></returns>
privatestaticboolSave(stringhost,stringkey,stringvalue) {
    using(varobjRedisClient=newRedisClient(host)) {
        if(objRedisClient.Get<string>(key)==null) {
            returnobjRedisClient.Set<String>(key,value);
        } else {
            returnfalse;
        }
    }
}

///<summary>
///TogetvaluefromRedisDB
///</summary>
///<paramname="host">RedisHostName</param>
///<paramname="key">Keyasstring</param>
///<returns></returns>
privatestaticstringGet(stringhost,stringkey) {
    using(varobjRedisClient=newRedisClient(host)) {
        returnobjRedisClient.Get<String>(key);
    }
}

ทดสอบโดยเรียกใช้ 2 ฟังก์ชันนี้:

staticvoidMain(string[]args) {
    Save("localhost","Key1","Value1");
    varresult=Get("localhost","Key1");
}

ผลลัพธ์เมื่อ debug โค้ดนี้:

เชี่ยวชาญ Redis: คู่มือสำหรับ In-Memory Databases

สรุป

ในบทความนี้ เราเห็นการนำ Redis in-memory database ไปใช้งานพื้นฐาน คุณสามารถดาวน์โหลด sample application source code ที่แนบมากับบทความนี้ หวังว่าคุณจะเพลิดเพลินกับการอ่านบทความนี้ อ่านต่อไปและอย่าลืมส่ง feedback ที่มีค่าให้เรานะครับ