ในบทเรียนนี้ เราจะเรียนรู้วิธีการดำเนินการหาส่วนร่วม (Intersection) บน Set 2 ชุดขึ้นไปที่จัดเก็บใน Redis Datastore โดยใช้คำสั่ง Redis SINTER และ SINTERSTORE
ส่วนร่วมของ Set (Intersection of Sets):
ในทฤษฎีเซต ส่วนร่วมของเซต 2 ชุดขึ้นไป คือเซตที่ประกอบด้วยสมาชิกที่เหมือนกันในทุกเซต ตัวอย่าง :
A = {1, 2, 3, 4, 5} B = {4, 5, 6, 7, 8, 9} ส่วนร่วมของ A & B :- A ∩ B = {4, 5}
คำสั่ง SINTER :-
คำสั่งนี้ดำเนินการหาส่วนร่วมบน Set 2 ชุดขึ้นไปที่ระบุ และส่งคืนผลลัพธ์เป็น Array หาก Key ที่ระบุใดๆ ไม่มีอยู่ จะถือเป็น Empty Set จะส่งคืน Error หาก Key มีอยู่แต่ค่าที่จัดเก็บที่ Key ไม่ใช่ Set ไวยากรณ์ของคำสั่ง Redis SINTER มีดังนี้ :-
ไวยากรณ์ (Syntax) :-
redis host:port> SINTER <keyName 1> <keyName 2> <keyName 3>
ผลลัพธ์ (Output) :-
- (array) reply, มีสมาชิกผลลัพธ์จากการหาส่วนร่วม - Error, หาก Key มีอยู่และค่าที่จัดเก็บที่ Key ไม่ใช่ Set
ตัวอย่าง (Example) :-

คำสั่ง SINTERSTORE :-
คำสั่งนี้ดำเนินการหาส่วนร่วมบน Set 2 ชุดขึ้นไปที่ระบุ และส่งคืนค่า Set ใหม่ที่จัดเก็บที่ Key ที่ระบุ หาก Key ที่ระบุใดๆ ไม่มีอยู่ จะถือเป็น Empty Set จะส่งคืน Error หาก Key มีอยู่แต่ค่าที่จัดเก็บที่ Key ไม่ใช่ Set ไวยากรณ์ของคำสั่ง Redis SINTERSTORE มีดังนี้ :-
ไวยากรณ์ (Syntax) :-
redis host:port> SINTERSTORE <destination keyName> <keyName 1> <keyName 2> <keyName 3>
ผลลัพธ์ (Output) :-
- (integer) แสดงจำนวนสมาชิกใน Set ปลายทาง - Error, หาก Key มีอยู่และค่าที่จัดเก็บที่ Key ไม่ใช่ Set
ตัวอย่าง (Example) :-

อ้างอิง (References) :-
- SINTER Command Docs
- SINTERSTORE Command Docs
ขอจบบทเรียนเรื่องวิธีดำเนินการหาส่วนร่วมบน Set 2 ชุดขึ้นไปที่จัดเก็บใน Redis Datastore หากชอบ กรุณาแชร์ความคิดเห็นในส่วนความคิดเห็นและแชร์ให้คนอื่นๆ ด้วยนะครับ
