คำสั่ง Redis TTL
1. บทนำ
Redis เป็นฐานข้อมูลแบบ In-memory ที่มีฟีเจอร์สำหรับการกำหนดเวลาหมดอายุของคีย์ คำสั่ง TTL ใช้เพื่อตรวจสอบระยะเวลาที่เหลือก่อนที่คีย์จะหมดอายุ
2. คำสั่ง TTL คืออะไร?
คำสั่ง TTL (Time-To-Live) ใช้เพื่อตรวจสอบเวลาหมดอายุของคีย์ที่มีการกำหนดค่า EXPIRE ไว้ โดยจะแสดงค่าจำนวนวินาทีที่เหลือก่อนที่คีย์จะถูกลบออกจาก Redis
3. รูปแบบการใช้งาน
TTL <key>
โดยที่:
<key>คือคีย์ที่ต้องการตรวจสอบเวลาหมดอายุ
4. ตัวอย่างการใช้งาน
4.1 การตรวจสอบเวลาหมดอายุของคีย์ที่มี EXPIRE
127.0.0.1:6379> SET mykey "Hello, Redis"
OK
127.0.0.1:6379> EXPIRE mykey 30
(integer) 1
127.0.0.1:6379> TTL mykey
(integer) 25
ในตัวอย่างนี้:
- ใช้
SET mykey "Hello, Redis"เพื่อสร้างคีย์mykey - ใช้
EXPIRE mykey 30เพื่อกำหนดเวลาหมดอายุ 30 วินาที - ใช้
TTL mykeyเพื่อตรวจสอบเวลาที่เหลือของคีย์ ซึ่งในตัวอย่างนี้คือ 25 วินาที
4.2 กรณีคีย์ไม่มีเวลาหมดอายุ
127.0.0.1:6379> SET mykey2 "Persistent Data"
OK
127.0.0.1:6379> TTL mykey2
(integer) -1
หากคีย์ไม่มีการกำหนด EXPIRE ค่า TTL จะคืนค่า -1 แสดงว่าคีย์นี้ไม่มีการหมดอายุ
4.3 กรณีคีย์ไม่มีอยู่ในฐานข้อมูล
127.0.0.1:6379> TTL non_existing_key
(integer) -2
หากคีย์ไม่มีอยู่ในฐานข้อมูล คำสั่ง TTL จะคืนค่า -2 หมายความว่าคีย์นั้นไม่ถูกพบใน Redis
5. ข้อควรระวัง
- หากคีย์ไม่มีการตั้งค่า
EXPIREจะได้รับค่า-1 - หากคีย์ไม่อยู่ในฐานข้อมูล จะได้รับค่า
-2 - คำสั่ง
TTLใช้ร่วมกับEXPIREและPERSISTเพื่อควบคุมอายุการใช้งานของข้อมูล
6. สรุป
TTLใช้เพื่อตรวจสอบเวลาหมดอายุของคีย์- คืนค่าเป็นจำนวนวินาทีที่เหลือก่อนที่คีย์จะหมดอายุ
- หากคีย์ไม่มีการตั้งค่า
EXPIREจะคืนค่า-1 - หากคีย์ไม่มีอยู่ในฐานข้อมูล จะคืนค่า
-2 - เป็นคำสั่งสำคัญสำหรับการจัดการข้อมูลที่มีการหมดอายุใน Redis