Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

Redis SET, SETNX, SETEX, PSETEX: ตั้งค่า Key-Value อย่างมาสเตอร์

ในบทเรียนนี้ เราจะเรียนรู้วิธีการตั้งค่า string value ที่ key ที่ระบุใน Redis datastore โดยใช้คำสั่ง Redis SET, SETNX, SETEX และ PSETEX

คำสั่ง SET

คำสั่งนี้ใช้ตั้งค่า string value ให้ key ที่ระบุ หาก key มีอยู่แล้ว ค่าจะถูกทับทีไม่ว่าจะเป็น type อะไร และ expiration time ก่อนหน้าที่ผูกกับ key จะถูกลบด้วย

Optional Arguments

คำสั่ง SET รับอาร์กิวเมนต์เพิ่มเติมดังนี้:

  1. EX seconds: ตั้งค่า expiration time บน key ในหน่วยวินาที
  2. PX milliseconds: ตั้งค่า expiration time บน key ในหน่วยมิลลิวินาที
  3. NX: ตั้งค่า string value เฉพาะเมื่อ key ไม่มีอยู่
  4. XX: ตั้งค่า string value เฉพาะเมื่อ key มีอยู่แล้ว

Syntax

redis host:port> SET <keyname> <value>

Output

- OK: หากดำเนินการสำเร็จและตั้งค่า string value
- Null: หากดำเนินการล้มเหลวและไม่ได้ตั้งค่า string value

ตัวอย่าง

Redis SET, SETNX, SETEX, PSETEX: ตั้งค่า Key-Value อย่างมาสเตอร์

คำสั่ง SETNX

คำสั่ง SETNX ใช้ตั้งค่า string value ที่ key ที่ระบุ หาก key มีอยู่แล้ว การดำเนินการจะล้มเหลวและคืนค่า 0 มิฉะนั้น string value จะถูกเก็บที่ key และคืนค่า 1

Syntax

redis host:port> SETNX <keyname> <value>

Output

- 1: หากดำเนินการสำเร็จและตั้งค่า string value
- 0: หากดำเนินการล้มเหลวและไม่ได้ตั้งค่า string value

เทียบเท่ากับคำสั่ง SET พร้อมอาร์กิวเมนต์ NX

ตัวอย่าง

Redis SET, SETNX, SETEX, PSETEX: ตั้งค่า Key-Value อย่างมาสเตอร์

คำสั่ง SETEX

คำสั่ง SETEX ใช้ตั้งค่า string value ที่ key ที่ระบุและตั้งค่า expiration time บน key นั้นในหน่วยวินาที จำนวนวินาทีนี้แทน time to live หากจำนวนวินาทีเป็นศูนย์หรือลบ key จะถูกลบทันที SETEX เป็น atomic โดยธรรมชาติและเทียบเท่ากับการรันคำสั่งต่อไปนี้:

SET key value
EXPIRE key seconds

Syntax

redis host:port> SETEX <keyname> <seconds> <value>

Output

- OK: หากดำเนินการสำเร็จและตั้งค่า string value
- Null: หากดำเนินการล้มเหลวและไม่ได้ตั้งค่า string value

เทียบเท่ากับคำสั่ง SET พร้อมอาร์กิวเมนต์ EX

ตัวอย่าง

Redis SET, SETNX, SETEX, PSETEX: ตั้งค่า Key-Value อย่างมาสเตอร์

คำสั่ง PSETEX

คำสั่งนี้คล้ายกับ SETEX มาก แตกต่างตรงที่ใน PSETEX expiration time ระบุเป็นมิลลิวินาทีแทนที่จะเป็นวินาที

Syntax

redis host:port> PSETEX <keyname> <milliseconds> <value>

Output

- OK: หากดำเนินการสำเร็จและตั้งค่า string value
- Null: หากดำเนินการล้มเหลวและไม่ได้ตั้งค่า string value

เทียบเท่ากับคำสั่ง SET พร้อมอาร์กิวเมนต์ PX

ตัวอย่าง

Redis SET, SETNX, SETEX, PSETEX: ตั้งค่า Key-Value อย่างมาสเตอร์

อ้างอิง

  1. SET Command Docs
  2. SETNX Command Docs
  3. SETEX Command Docs
  4. PSETEX Command Docs

ขอจบบทเรียนสำหรับวิธีตั้งค่า string value ที่ key ที่ระบุใน Redis datastore หากชอบบทเรียนนี้ กรุณาแบ่งปันความคิดเห็นและแชร์ให้ผู้อื่นด้วยครับ

<- String Commands