Skip to main content

Redis Lists

1. บทนำ

Redis Lists เป็นโครงสร้างข้อมูลที่ใช้จัดเก็บลำดับของสตริง โดยสามารถใช้เป็น Queue (FIFO) หรือ Stack (LIFO) ได้ ข้อมูลใน List จะถูกจัดเก็บตามลำดับที่ถูกเพิ่มเข้าไป

2. คำสั่งพื้นฐานของ Redis Lists

Redis มีคำสั่งสำหรับจัดการ Lists หลายคำสั่ง ดังนี้:

2.1 การเพิ่มข้อมูลเข้า List

LPUSH mylist "A"
LPUSH mylist "B"
RPUSH mylist "C"
  • LPUSH เพิ่มค่าที่จุดเริ่มต้นของ List
  • RPUSH เพิ่มค่าที่จุดสิ้นสุดของ List

2.2 การดึงค่าจาก List

LRANGE mylist 0 -1
  • LRANGE ใช้เพื่อดึงข้อมูลจาก List โดยกำหนดช่วงของ index (0 คือค่าแรก, -1 คือค่าล่าสุด)

2.3 การดึงและลบค่าจาก List

LPOP mylist
RPOP mylist
  • LPOP ดึงค่าแรกสุดของ List และลบออกจาก List
  • RPOP ดึงค่าท้ายสุดของ List และลบออกจาก List

2.4 การนับจำนวนสมาชิกใน List

LLEN mylist
  • LLEN ใช้เพื่อดึงจำนวนสมาชิกที่อยู่ใน List

2.5 การแทรกค่าลงใน List

LINSERT mylist BEFORE "B" "X"
  • LINSERT ใช้เพื่อแทรกค่าลงใน List ก่อนหรือหลังค่าที่กำหนด

3. ข้อควรระวัง

  • Redis Lists มีประสิทธิภาพสูงเมื่อใช้กับข้อมูลที่ไม่ใหญ่มาก เนื่องจากค่าจะถูกเก็บเป็น linked list
  • การใช้ LRANGE กับ List ที่มีขนาดใหญ่อาจมีผลกระทบต่อประสิทธิภาพของระบบ

4. สรุป

  • Redis Lists ใช้เก็บค่าหลายค่าในลำดับที่กำหนด
  • รองรับการเพิ่มค่าแบบ FIFO (Queue) และ LIFO (Stack)
  • มีคำสั่ง LPUSH, RPUSH, LPOP, RPOP สำหรับการจัดการข้อมูล
  • เหมาะสำหรับการจัดคิวข้อความ หรือจัดเก็บรายการข้อมูลที่มีลำดับ