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

ขอแนะนำ Redis OM สำหรับ Node.js

การแมปวัตถุที่ง่ายและรวดเร็วสำหรับ JavaScript และ TypeScript

ฉันเขียนเรื่องหนึ่ง อันที่จริง พวกเราหลายคนเขียนเรื่องต่างๆ ฉันเพิ่งเขียนเวอร์ชัน Node.js ฉันคิดว่ามันเจ๋งมากที่คุณคู่ควรกับความสนใจของคุณ และฉันก็รู้สึกตื่นเต้นกับมัน สิ่งที่ฉันพูดถึง:Redis OM สำหรับ Node.js

Redis OM คืออะไร? Redis OM เป็นไลบรารีที่ทำให้ง่ายต่อการใช้งาน Redis โดยการจับคู่โครงสร้างข้อมูล Redis กับโค้ดของคุณโดยตรง OM bit ย่อมาจาก object mapping แต่เราวางแผนที่จะทำมากกว่านั้นในอนาคต

อ่านรายละเอียดเพิ่มเติม

เร็วกว่าเร็ว

คุณอาจรู้อยู่แล้วว่า Redis นั้นเร็ว—เร็วกว่าเร็ว—และจัดเก็บสิ่งต่าง ๆ ที่โปรแกรมของคุณสนใจ:แฮช, รายการ, ชุด, สิ่งต่างๆ เช่นนั้น นี่คือโครงสร้างที่ฉันคิดในฐานะโปรแกรมเมอร์ เมื่อฉันอธิบายว่า Redis คืออะไรกับช่างเทคนิคที่ไม่ได้ฝึกหัด ฉันบอกพวกเขาว่า Redis เป็นโครงสร้างข้อมูลทั้งหมดที่คุณเรียนรู้ในวิทยาลัยโดยมีโปรโตคอลแบบมีสายอยู่ข้างหน้าพวกเขา

โมดูลทำให้ Redis เจ๋งยิ่งขึ้นไปอีก (ใช่ ฉันรู้ว่านั่นไม่ใช่คำพูด) โดยการแนะนำ ใหม่ โครงสร้างข้อมูลสำหรับโปรแกรมของคุณที่ต้องใส่ใจ RedisBloom เพิ่มโครงสร้างข้อมูลความน่าจะเป็น เช่น ตัวกรอง Bloom และ Cuckoo RedisGraph ให้คุณจัดเก็บและค้นหากราฟโดยใช้ Cypher RedisAI ให้เมตริกซ์สำหรับสิ่ง AI ที่น่าทึ่ง ทั้งหมดนี้มีประโยชน์มาก

โมดูลที่ยอดเยี่ยมที่สุด

แต่มีสองโมดูลโดยเฉพาะที่ทำให้ Redis เป็นฐานข้อมูลในหน่วยความจำอันทรงพลังที่โปรแกรมเมอร์ทุกคนต้องการให้เป็น ได้แก่ RedisJSON และ RediSearch

RedisJSON นำลำดับชั้นมาที่ตาราง แฮชนั้นยอดเยี่ยม แต่ถ้าคุณต้องการฝังแฮชในแฮชของคุณล่ะ RedisJSON ครอบคลุมโดยให้คุณจัดเก็บข้อมูลลำดับชั้นของฉันในเอกสาร JSON

ในขณะเดียวกัน RediSearch ให้คุณค้นหา โครงสร้างข้อมูลที่คุณสนใจ แน่นอนว่าคุณสามารถสร้างดัชนีแบบแมนนวลได้โดยใช้ชุดข้อมูล แต่แนวทางดังกล่าวมีข้อจำกัดและเป็นแบบแมนนวล ยัค. RediSearch ให้คุณเขียนข้อความค้นหาเพื่อไปยังข้อมูลที่ต้องการได้ทันที

เมื่อรวมกันแล้ว RediSearch และ RedisJSON ทำให้ Redis เป็นฐานข้อมูลเอกสารที่ค่อนข้างดี คุณได้รับลำดับชั้นที่คุณต้องการและความสามารถในการค้นหาสิ่งที่คุณสนใจ ดีที่สุดของทั้งสองโลกและทั้งหมดนั้น

ที่จริงแล้ว เราคิดว่านี่เป็นการผสมผสานที่ลงตัว เรานำมันมารวมกันและเรียกมันว่า RedisJSON

Redis OM สำหรับ Node.js

ภาษาที่ใช้ค้นหา RediSearch นั้นทรงพลัง ทรงพลังมาก. ช่วยให้คุณค้นหาเอกสารแฮชและ JSON ภายใน Redis ได้ด้วยวิธีที่หลากหลายและซับซ้อน และเมื่อฉันต้องการพลังทั้งหมดนั้น มันเยี่ยมมาก แต่บางครั้งฉันก็ไม่ต้องการพลังนั้นทั้งหมด และฉัน ฉัน นักพัฒนาที่ขี้เกียจ—ฉันต้องการให้มันง่ายที่สุด (และไม่ง่ายไปกว่านี้)

การทำให้สิ่งต่างๆ ง่ายขึ้นคือสิ่งที่ฉันพยายามทำเมื่อเขียน Redis OM สำหรับ Node.js Redis OM ทำให้การเพิ่ม Redis ลงในแอปพลิเคชัน Node.js ของคุณเป็นเรื่องง่าย โดยการจับคู่แฮชและเอกสาร JSON กับคลาสที่คุณกำหนด ไม่มีคำสั่งที่ซับซ้อน มีเพียงโค้ดบริสุทธิ์ที่มีอินเทอร์เฟซที่คล่องแคล่ว ลองดูสิ

กำหนดเอนทิตี:

สร้างเอนทิตีใหม่และบันทึก:

ค้นหาเอนทิตีที่ตรงกัน:

ตอนนี้ฉันค่อนข้างลำเอียงตั้งแต่ฉันเขียนห้องสมุดนี้และทั้งหมด แต่ฉันคิดว่ามันเจ๋งมาก! มาดูไวยากรณ์นี้อย่างละเอียดและเรียนรู้วิธีทำงานกัน

วิธีการทำงาน

มีสี่คลาสที่คุณต้องสนใจใน Redis OM สำหรับ Node.js ซึ่งได้แก่ Entity, Schema, Client และ Repository

หน่วยงาน คือชั้นเรียนที่คุณทำงานด้วย สิ่งที่กำลังสร้าง อ่าน อัปเดต และลบ ของที่ตามหา. คลาสใดๆ ที่ขยายเอนทิตีเป็นเอนทิตี โดยปกติ คุณจะกำหนดเอนทิตีด้วยโค้ดบรรทัดเดียว แต่คุณสามารถเพิ่มตรรกะที่กำหนดเองในนั้นได้เช่นกัน:

สคีมา กำหนดฟิลด์ในเอนทิตีของคุณ ประเภท และวิธีแมปภายในกับ Redis โดยค่าเริ่มต้น เอนทิตีแมปกับแฮชใน Redis แต่คุณยังสามารถแมปเอนทิตีกับเอกสาร JSON ได้:

เมื่อคุณสร้างสคีมา มันจะแก้ไขเอนทิตีที่คุณมอบให้ เพิ่มตัวรับและตัวตั้งค่าสำหรับคุณสมบัติที่คุณกำหนด ประเภทที่ผู้รับและผู้ตั้งค่ายอมรับและส่งคืนนั้นถูกกำหนดด้วยคุณสมบัติประเภทด้านบน

ลูกค้า เชื่อมต่อคุณกับ Redis ลูกค้ามีวิธีในการเปิด ปิด และดำเนินการคำสั่งดิบกับ Redis ส่วนใหญ่จะใช้เปิดและปิด:

ต้องใช้ Schema และ Client เพื่อยกตัวอย่าง Repository ที่เก็บ จัดเตรียมวิธีการอ่าน เขียน และลบเอนทิตี และวิธีการค้นหา:

เมื่อเรามีที่เก็บข้อมูลแล้ว เราก็สามารถใช้มันเพื่อสร้าง อ่าน อัปเดต และลบเอนทิตี ฉันทำอย่างนั้นกับอัลบั้มโปรดของฉันโดย Mushroomhead:

เรายังสามารถใช้เพื่อค้นหาเอนทิตี:

และเพื่อความสะดวกในการคัดลอกและวาง นี่คือตัวอย่างโค้ดขนาดใหญ่กลุ่มหนึ่ง:

และนั่นคือ Redis OM สำหรับ Node.js อย่างที่พวกเขาพูดกันโดยย่อ

สรุป

นี่เป็นภาพรวมโดยย่อว่า Redis OM สำหรับ Node.js ทำอะไรได้บ้าง หากคุณต้องการเรียนรู้เพิ่มเติม มีบทแนะนำที่จะแนะนำคุณตลอดการสร้างบริการง่ายๆ ด้วย Redis OM และถ้าคุณต้องการเจาะลึกลงไปอีก และคุณควรตรวจสอบเอกสาร README และ API บน GitHub

แน่นอนว่านี่เป็นซอฟต์แวร์ใหม่เอี่ยมที่ยังไม่ได้ทำการทดสอบอย่างจริงจัง คุณ เป็นป่าที่ โปรดลองใช้งาน เตะยาง. พยายามที่จะทำลายมัน ดูว่ามีอะไรอยู่บ้างและอาจมีอะไรบ้าง และเมื่อคุณพบจุดบกพร่องหรือคิดว่ามีคุณสมบัติที่สมบูรณ์แบบนั้น โปรดแจ้งให้เราทราบโดยเปิดปัญหาหรือส่งคำขอดึงข้อมูล ความช่วยเหลือของคุณในการทำให้ Redis OM ดีขึ้นนั้นได้รับการชื่นชมอย่างจริงใจ ขอบคุณ!