ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีการดำเนินการทางแยกบนค่าชุดที่จัดเรียงตั้งแต่สองชุดขึ้นไปที่จัดเก็บในที่เก็บข้อมูล redis โดยใช้ redis ZINTERSTORE คำสั่ง
จุดตัดของเซต:
ในทฤษฎีเซต จุดตัดของเซตตั้งแต่สองเซตขึ้นไปคือเซตที่มีองค์ประกอบที่เหมือนกันกับเซตทั้งหมด ตัวอย่างเช่น :
A = {1, 2, 3, 4, 5} B = {4, 5, 6, 7, 8, 9} Intersection of A & B :- A ∩ B = {4, 5}
คำสั่ง ZINTERSTORE :-
คำสั่งนี้ดำเนินการตัดกันของชุดที่เรียงลำดับที่ระบุตั้งแต่สองชุดขึ้นไป และส่งกลับค่าชุดที่จัดเรียงใหม่ซึ่งจัดเก็บไว้ที่คีย์ที่ระบุ ชุดการเรียงลำดับที่ไม่มีอยู่จริงถือเป็นชุดการเรียงลำดับที่ว่างเปล่า ข้อผิดพลาดถูกส่งกลับ หากมีคีย์แต่ค่าที่เก็บไว้ที่คีย์ไม่ใช่ชุดที่จัดเรียง ไวยากรณ์ของคำสั่ง redis ZINTERSTORE มีดังนี้ :-
ไวยากรณ์ :-
redis host:post> ZINTERSTORE <destination> numkeys <keyName> [<keyName>] [WEIGHTS weight [weight]] [AGGREGATE SUM|MIN|MAX]
ผลลัพธ์ :-
- (array) reply, containing elements resulting from the intersection operation. - Error, if key exist and value stored at the key is not a sorted set.
แป้นตัวเลข คือจำนวนของคีย์อินพุตที่มีค่าชุดที่เรียงลำดับซึ่งดำเนินการตัดกัน จำเป็นต้องส่ง numkeys อาร์กิวเมนต์ก่อนส่งคีย์อินพุตและอาร์กิวเมนต์อื่นๆ ผลลัพธ์จะถูกเก็บไว้ในชุดการเรียงลำดับใหม่ที่ ปลายทาง กุญแจ. หากมีคีย์ปลายทางอยู่แล้ว จะถูกเขียนทับ
น้ำหนัก สามารถใช้ตัวเลือกเพื่อระบุปัจจัยการคูณสำหรับชุดการเรียงลำดับอินพุตแต่ละชุด ซึ่งหมายความว่าคะแนนของทุกองค์ประกอบในชุดที่จัดเรียงอินพุตทั้งหมดจะถูกคูณด้วยปัจจัยนี้ก่อนที่จะส่งผ่านไปยังฟังก์ชันการรวม เมื่อ น้ำหนัก ไม่ผ่านตัวประกอบการคูณจะถูกนำมาเป็น 1
รวม สามารถใช้ตัวเลือกเพื่อระบุวิธีการรวมผลลัพธ์ของทางแยก ค่าเริ่มต้นคือ SUM ซึ่งหมายความว่าคะแนนขององค์ประกอบจะรวมอยู่ในชุดที่จัดเรียงข้อมูลเข้าทั้งหมดที่มีอยู่ เมื่อตั้งค่าตัวเลือกนี้เป็น MIN หรือ MAX ชุดผลลัพธ์จะมีคะแนนต่ำสุดหรือสูงสุดขององค์ประกอบในชุดที่จัดเรียงอินพุตที่มีอยู่
ตัวอย่าง :-
ข้อมูลอ้างอิง :-
- เอกสารคำสั่ง ZINTERSTORE
นั่นคือทั้งหมดสำหรับวิธีดำเนินการตัดกับค่าชุดที่เรียงลำดับตั้งแต่สองชุดขึ้นไปที่จัดเก็บไว้ใน datastore redis หากคุณชอบโปรดแบ่งปันความคิดของคุณในส่วนความคิดเห็นและแบ่งปันกับผู้อื่นด้วย