Skip to main content

คำสั่ง Redis EXPIRE

1. บทนำ

Redis เป็นฐานข้อมูลแบบ In-memory ที่รองรับการกำหนดอายุของคีย์ (Key) โดยใช้คำสั่ง EXPIRE ซึ่งช่วยให้สามารถกำหนดเวลาหมดอายุให้กับคีย์ได้อย่างมีประสิทธิภาพ

2. คำสั่ง EXPIRE คืออะไร?

คำสั่ง EXPIRE ใช้เพื่อกำหนดเวลาหมดอายุ (Time-to-Live, TTL) ให้กับคีย์ที่ระบุ เมื่อถึงเวลาที่กำหนด คีย์นั้นจะถูกลบออกจากฐานข้อมูลโดยอัตโนมัติ

3. รูปแบบการใช้งาน

EXPIRE <key> <seconds>

โดยที่:

  • <key> คือคีย์ที่ต้องการกำหนดเวลาหมดอายุ
  • <seconds> คือระยะเวลาหมดอายุในหน่วยวินาที

4. ตัวอย่างการใช้งาน

4.1 การกำหนดเวลาหมดอายุให้กับคีย์

127.0.0.1:6379> SET mykey "Hello, Redis"
OK
127.0.0.1:6379> EXPIRE mykey 10
(integer) 1

ในตัวอย่างนี้:

  1. ใช้ SET mykey "Hello, Redis" เพื่อสร้างคีย์ mykey
  2. ใช้ EXPIRE mykey 10 กำหนดให้ mykey หมดอายุใน 10 วินาที

4.2 การตรวจสอบเวลาหมดอายุของคีย์

127.0.0.1:6379> TTL mykey
(integer) 7

คำสั่ง TTL ใช้เพื่อตรวจสอบจำนวนวินาทีก่อนที่คีย์จะหมดอายุ หากได้ค่า -1 หมายถึงคีย์ไม่มีการตั้งค่า EXPIRE และถ้าได้ค่า -2 หมายถึงคีย์ไม่อยู่ในฐานข้อมูลแล้ว

4.3 การลบเวลาหมดอายุของคีย์

127.0.0.1:6379> PERSIST mykey
(integer) 1

คำสั่ง PERSIST ใช้เพื่อลบเวลาหมดอายุของคีย์ ทำให้คีย์สามารถอยู่ถาวรโดยไม่ถูกลบเมื่อหมดเวลา

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

  • หากคีย์ที่กำหนด EXPIRE ถูกอัปเดตด้วยคำสั่ง SET หรือคำสั่งอื่นที่สร้างคีย์ใหม่ เวลาหมดอายุเดิมจะถูกลบ
  • คีย์ที่หมดอายุจะถูกลบโดยอัตโนมัติ และไม่สามารถกู้คืนได้

6. สรุป

  • คำสั่ง EXPIRE ใช้กำหนดเวลาหมดอายุให้กับคีย์ใน Redis
  • ใช้ TTL เพื่อตรวจสอบเวลาที่เหลือของคีย์
  • ใช้ PERSIST เพื่อลบเวลาหมดอายุและทำให้คีย์อยู่ถาวร
  • เป็นคำสั่งที่มีประโยชน์สำหรับการจัดการข้อมูลที่มีช่วงอายุการใช้งานจำกัด