ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีตั้งค่าสตริงที่คีย์ที่ระบุใน redis datastore โดยใช้คำสั่ง redis SET, SETNX, SETEX และ PSETEX
คำสั่ง SET
คำสั่งนี้ใช้เพื่อตั้งค่าสตริงเป็นคีย์ที่ระบุ หากมีคีย์อยู่แล้ว ค่าจะถูกเขียนทับโดยไม่คำนึงถึงประเภทของคีย์ และเวลาหมดอายุก่อนหน้าที่เกี่ยวข้องกับคีย์จะถูกลบออกด้วย
อาร์กิวเมนต์ที่ไม่บังคับ
คำสั่ง Redis SET ใช้อาร์กิวเมนต์ที่เป็นตัวเลือกต่อไปนี้ :-
- EX seconds :- ตั้งเวลาหมดอายุของคีย์เป็นวินาที
- PX มิลลิวินาที :- โดยจะกำหนดเวลาหมดอายุของคีย์เป็นมิลลิวินาที
- NX :- โดยจะตั้งค่าสตริง เฉพาะในกรณีที่ไม่มีคีย์
- XX :- โดยจะตั้งค่าสตริงเฉพาะเมื่อมีคีย์อยู่แล้ว
ไวยากรณ์ของคำสั่ง redis SET มีดังนี้ :-
ไวยากรณ์ :-
redis host:post> SET <keyname> <value>
ผลลัพธ์ :-
- OK, if operation is successful and string value is set. - Null, if operation is failed and no string value is set.
ตัวอย่าง :-
คำสั่ง SETNX
คำสั่ง SETNX ใช้เพื่อตั้งค่าสตริงที่คีย์ที่ระบุ หากมีคีย์อยู่แล้ว การดำเนินการจะล้มเหลวและจะส่งกลับ 0 มิฉะนั้นค่าสตริงจะถูกเก็บไว้ที่คีย์และจะส่งกลับ 1 รายการ ไวยากรณ์ของคำสั่ง redis SETNX มีดังนี้ :-
ไวยากรณ์ :-
redis host:post> SETNX <keyname> <value>
ผลลัพธ์ :-
- 1, if operation is successful and string value is set. - 0, if operation is failed and no string value is set.
เทียบเท่ากับคำสั่ง SET ที่มีอาร์กิวเมนต์ NX
ตัวอย่าง :-
คำสั่ง SETEX
คำสั่ง SETEX ใช้เพื่อตั้งค่าสตริงที่คีย์ที่ระบุและกำหนดเวลาหมดอายุของคีย์นั้นเป็นวินาที จำนวนวินาทีนี้แสดงถึงเวลาที่จะมีชีวิตอยู่ หากจำนวนวินาทีเป็นศูนย์หรือติดลบ คีย์จะถูกลบทันที คำสั่ง SETEX เป็นคำสั่งแบบปรมาณูและเทียบเท่ากับการรันคำสั่งต่อไปนี้ :-
SET key value Expire key seconds
ไวยากรณ์ของคำสั่ง redis SETEX มีดังนี้ :-
ไวยากรณ์ :-
redis host:post> SETEX <keyname> <seconds> <value>
ผลลัพธ์ :-
- OK, if operation is successful and string value is set. - Null, if operation is failed and no string value is set.
เทียบเท่ากับคำสั่ง SET ที่มีอาร์กิวเมนต์ EX
ตัวอย่าง :-
คำสั่ง PSETEX
คำสั่งนี้คล้ายกับคำสั่ง SETEX มาก โดยมีความแตกต่างตรงที่เวลาหมดอายุของคำสั่ง PSETEX จะถูกระบุเป็นมิลลิวินาทีแทนที่จะเป็นวินาที ไวยากรณ์ของคำสั่ง redis PSETEX มีดังนี้ :-
ไวยากรณ์ :-
redis host:post> PSETEX <keyname> <milliseconds> <value>
ผลลัพธ์ :-
- OK, if operation is successful and string value is set. - Null, if operation is failed and no string value is set.
เทียบเท่ากับคำสั่ง SET ที่มีอาร์กิวเมนต์ PX
ตัวอย่าง :-
อ้างอิง :-
- SET Command Docs
- SETNX Command Docs
- เอกสารคำสั่ง SETEX
- เอกสารคำสั่ง PSETEX
นั่นคือทั้งหมดสำหรับวิธีตั้งค่าสตริงที่คีย์ที่ระบุใน redis datastore หากคุณชอบโปรดแบ่งปันความคิดของคุณในส่วนความคิดเห็นและแบ่งปันกับผู้อื่นด้วย