Skip to main content
เทคโนโลยี

Redis 101

By กรกฎาคม 15th, 2020No Comments

Developer Team
BorntoDev Co., Ltd.

Redis คืออะไร ?

Redis เป็นซอฟต์แวร์ Open Source ตัวนึงที่เอาไว้เก็บข้อมูลแบบโครงสร้างใน Memory หรือก็คือเก็บใน RAM นั่นเอง โดยเราสามารถใช้งานเป็น Database ชั่วคราวหรือใช้ในการเก็บ Cache ก็ได้ มีข้อดีก็คือทำงานได้เร็วมากกกกก เพราะมันเก็บอยู่ใน RAM แล้วก็นับว่าเป็น NoSQL แบบนึงก็ได้ที่ข้อมูลจะถูกเก็บแบบ Key – Value เอาไว้ แต่การจะใช้แทนที่ Database ก็อาจจะใช้ไม่ได้ทุกกรณี นั่นก็เพราะมันเก็บข้อมูลอยู่ใน RAM อีกนั่นแหละ

วิธีติดตั้ง

เข้าไปดูที่ลิงค์นี้ได้เลย https://redis.io/download มีสอนการดาวน์โหลดและติดตั้งเอาไว้เรียบร้อย แต่ถ้าอยากจะลองเล่นง่ายที่สุดก็คือไปเล่นที่ลิงค์นี้
>> https://try.redis.io/

try redis

ลองเล่นกันเลยดีกว่า

คำสั่งของ Redis สามารถเข้าไปดูได้ที่ https://redis.io/commands โดยสามารถใช้เป็นตัวพิมพ์เล็กหรือพิมพ์ใหญ่ก็ได้

ลองเพิ่มข้อมูลกันก่อน

คำสั่งสำหรับเพิ่มข้อมูลก็คือ set <key> <value>

set hello BorntoDev

redis add

ลองเรียก hello ออกมาดู

เรียกข้อมูลได้ด้วยคำสั่ง get <key>

get hello

ลบข้อมูล

เวลาต้องการลบข้อมูลใช้คำสั่ง del <key>
พอลอง get hello ดูอีกครั้งก็จะเห็นว่ากลายเป็น nil ก็คือไม่มีค่าไปแล้ว

del hello

redis del

ประเภทข้อมูล

จากตัวอย่างก่อนๆที่ใช้คำสั่ง set และ get ข้อมูลที่เก็บใน Key จะเป็นประเภท String ซึ่งจริงๆแล้ว Redis สามารถเก็บข้อมูลชนิดอื่นๆได้อีก ลองดูกันซัก 3 ประเภทกันดีกว่า

List

เป็น List ที่เก็บค่า String แบบทั่วๆไปที่เรารู้จักกัน โดยข้อมูลใน List จะเรียงตามลำดับตามการใส่ค่าของเรา

เพิ่มข้อมูล

ใช้คำสั่ง LPUSH และ RPUSH ลองดูตัวอย่างด้านล่างประกอบ

LPUSH mylist a   # ข้อมูลใน List คือ "a"
LPUSH mylist b   # ข้อมูลใน List คือ "b","a"
RPUSH mylist c   # ข้อมูลใน List คือ "b","a","c"

เรียกข้อมูลใน List

LRANGE เรียกข้อมูลในช่วง Index ที่ระบุ

LRANGE mylist 0 1
# ผลลัพธ์
1) "b"
2) "a"

LRANGE mylist 0 -1
# ผลลัพธ์
1) "b"
2) "a"
3) "c"

LINDEX เรียกข้อมูลตาม Index

LINDEX mylist 2        # ผลลัพธ์ "c"

ดูจำนวนข้อมูลใน List

LLEN mylist       # ผลลัพธ์ (integer) 3

Set

ก็เป็นข้อมูลแบบไม่มีลำดับเหมือน Set ทั่วไปเช่นกัน

SADD myset hello
SADD myset BorntoDev
SADD myset jaa
SMEMBERS myset
# ผลลัพธ์
1) "hello"
2) "BorntoDev"
3) "jaa"

Hashes

สามารถเก็บข้อมูลภายในเป็นเหมือนกับ Key – Value ได้ เหมาะกับการใช้แทน Object

HSET user username BorntoDev
HMSET user pass 1234 age 20 id 1212312121
HGET user pass    # ผลลัพธ์ "1234"
HGETALL user
# ผลลัพธ์
1) "username"
2) "BorntoDev"
3) "pass"
4) "1234"
5) "age"
6) "20"
7) "id"
8) "1212312121"

สำหรับการใช้งาน Redis ในงานจริงๆก็ยังต้องศึกษาการตั้งค่าอีกหลายอย่าง เข้าไปดูกันได้ในเว็บของ Redis ได้เลยครับ https://redis.io/documentation

หากคุณสนใจพัฒนา สตาร์ทอัพ แอปพลิเคชัน และ เทคโนโลยีของตัวเอง ?

อย่ารอช้า ! เรียนรู้ทักษะด้านดิจิทัลเพื่ออัพเกรดความสามารถของคุณ
เริ่มตั้งแต่พื้นฐาน พร้อมปฏิบัติจริงในรูปแบบหลักสูตรออนไลน์วันนี้

Leave a Reply