ในบทเรียนนี้ เราจะเรียนรู้วิธีการตั้งค่าให้ field ใน Hash value ที่เก็บใน key โดยใช้คำสั่ง Redis HSET, HSETNX และ HMSET
คำสั่ง HSET
คำสั่งนี้ใช้ตั้งค่าที่ระบุให้ field ใน Hash ที่เก็บใน key ที่ระบุ หาก field มีอยู่แล้ว ค่าจะถูกทับที หาก key ไม่มีอยู่ key ใหม่ที่เก็บ Hash value จะถูกสร้างก่อนทำการ set
คืนค่า error หาก key มีอยู่แต่ค่าที่เก็บไม่ใช่ Hash datatype
Syntax
redis host:port> HSET <keyname> <field> <value>
Output
- 1 (integer): หาก field ใหม่ใน Hash และตั้งค่าสำเร็จ - 0 (integer): หาก field มีอยู่แล้วใน Hash และค่าถูกทับที - Error: หาก key มีอยู่แต่ค่าที่เก็บไม่ใช่ Hash
ตัวอย่าง

คำสั่ง HSETNX
คำสั่งนี้ตั้งค่าที่ระบุให้ field ใน Hash ที่เก็บใน key ที่ระบุ เฉพาะเมื่อ field ไม่มีอยู่ ใน Hash value หาก field มีอยู่แล้ว การดำเนินการนี้ไม่มีผล หาก key ไม่มีอยู่ key ใหม่ที่เก็บ Hash value จะถูกสร้างก่อนทำการ set
คืนค่า error หาก key มีอยู่แต่ค่าที่เก็บไม่ใช่ Hash datatype
Syntax
redis host:port> HSETNX <keyname> <field> <value>
Output
- 1 (integer): หาก field ใหม่ใน Hash และตั้งค่าสำเร็จ - 0 (integer): หาก field มีอยู่แล้วใน Hash และไม่มีการดำเนินการ - Error: หาก key มีอยู่แต่ค่าที่เก็บไม่ใช่ Hash
ตัวอย่าง

คำสั่ง HMSET
คำสั่งนี้ตั้งค่าที่ระบุให้ field ตามลำดับ (multiple field/value pair) ใน Hash ที่เก็บใน key ที่ระบุ หาก field ที่ระบุมีอยู่แล้ว ค่าจะถูกทับที หาก key ไม่มีอยู่ key ใหม่ที่เก็บ Hash value จะถูกสร้างก่อนทำการ set
คืนค่า error หาก key มีอยู่แต่ค่าที่เก็บไม่ใช่ Hash datatype
Syntax
redis host:port> HMSET <keyname> <field> <value> [<field> <value> ...]
Output
- (simple string) reply: OK - Error: หาก key มีอยู่แต่ค่าที่เก็บไม่ใช่ Hash
ตัวอย่าง

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