คำสั่ง 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
ในตัวอย่างนี้:
- ใช้
SET mykey "Hello, Redis"เพื่อสร้างคีย์mykey - ใช้
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เพื่อลบเวลาหมดอายุและทำให้คีย์อยู่ถาวร - เป็นคำสั่งที่มีประโยชน์สำหรับการจัดการข้อมูลที่มีช่วงอายุการใช้งานจำกัด