Redis เป็นโอเพ่นซอร์ส (ลิขสิทธิ์ BSD) ฐานข้อมูล NoSQL มันเป็น ฐานข้อมูลในหน่วยความจำ ตามแนวคิดของ Key-Value Store . Redis ยังถูกเรียกว่า Data Structure Store .
มาทำความเข้าใจทีละคำทีละคำ :-
- Key-Value Datastore :- เป็นกระบวนทัศน์การจัดเก็บข้อมูล โดยที่ข้อมูลจะถูกจัดเก็บและเรียกค้นเป็นค่าเทียบกับคีย์ ซึ่งระบุค่าที่จัดเก็บไว้ในฐานข้อมูลโดยไม่ซ้ำกัน Redis ถือได้ว่าเป็นตารางแฮชขนาดยักษ์
- ฐานข้อมูลในหน่วยความจำ :- ฐานข้อมูลในหน่วยความจำคือฐานข้อมูลที่จัดเก็บข้อมูลทั้งหมดในหน่วยความจำหลัก (RAM) หมายความว่าเมื่อคุณสอบถามฐานข้อมูลหรือเมื่อคุณอัปเดตข้อมูลในฐานข้อมูล คุณจะเข้าถึงเฉพาะหน่วยความจำหลักเท่านั้น ไม่มีการเข้าถึงดิสก์ที่เกี่ยวข้อง เนื่องจากการเข้าถึงหน่วยความจำหลักเร็วกว่าการเข้าถึงหน่วยความจำดิสก์ ฐานข้อมูล Redis จึงเร็วกว่าฐานข้อมูลที่ใช้หน่วยความจำดิสก์อื่นๆ แม้ว่าข้อมูลในหน่วยความจำจะยังคงอยู่บนดิสก์ได้โดยใช้การกำหนดค่าที่เหมาะสม
- ที่จัดเก็บโครงสร้างข้อมูล :- ใน redis คีย์จะเป็นประเภทข้อมูลสตริงเสมอ แต่ค่าอาจเป็นสตริง แฮช ชุด ชุดที่จัดเรียง รายการ ไฮเปอร์ล็อกล็อก และประเภทดัชนีภูมิสารสนเทศ
Redis เป็นพื้นที่เก็บข้อมูลที่มีความยืดหยุ่นสูงและปรับขนาดได้สูง ซึ่งสามารถใช้เป็นฐานข้อมูล นายหน้าข้อความ และเซิร์ฟเวอร์แคช เป็นเธรดเดียว ซึ่งหมายความว่าสามารถประมวลผลคำขอได้ครั้งละหนึ่งคำขอ แต่สามารถใช้คำสั่งแบบกลุ่มเพื่อลดจำนวนคำขอไปยังเซิร์ฟเวอร์ Redis ได้
ใน Redis การคงอยู่ของข้อมูลในหน่วยความจำหลักสามารถทำได้สองวิธี ประการแรกโดยการดัมพ์ข้อมูลทั้งหมดไปยังไฟล์แบบแฟลตบนฮาร์ดดิสก์ และประการที่สองโดยการจัดเก็บคำสั่งที่ดำเนินการทั้งหมดลงในไฟล์ เมื่อเซิร์ฟเวอร์ redis เริ่มทำงาน เซิร์ฟเวอร์จะโหลดข้อมูลจากไฟล์ดัมพ์หรือดำเนินการคำสั่งทั้งหมดในลำดับเพื่อให้เซิร์ฟเวอร์ redis อยู่ในสถานะที่สอดคล้องกันและใช้งานได้
คุณสมบัติ :-
รายการคุณสมบัติหลักของ redis datastore มีดังนี้:-
- Atomic Operations :- การดำเนินการ redis ทั้งหมดเป็นแบบอะตอมมิก ซึ่งทำให้มั่นใจได้ว่าหากไคลเอ็นต์สองเครื่องขึ้นไปดำเนินการ CRUD ในเซิร์ฟเวอร์ Redis พร้อมกัน ไคลเอ็นต์ทั้งหมดจะได้รับค่าที่อัปเดต
- รองรับหลายประเภทข้อมูล :- รองรับข้อมูลหลายประเภท เช่น string, list, set, sorted set, bitmaps เป็นต้น ทำให้ redis มีความยืดหยุ่นเพียงพอที่จะใช้ในหลายสถานการณ์
- เร็วมาก :- เก็บข้อมูลทั้งหมดไว้ในหน่วยความจำหลัก ซึ่งทำให้รวดเร็วมาก นอกจากนี้ยังสนับสนุนไพพ์ไลน์ของคำสั่ง ซึ่งทำให้ไคลเอ็นต์ cli และไลบรารีของไคลเอ็นต์ดำเนินการได้หลายอย่างโดยใช้หลายค่าในคำสั่งเดียว
- รองรับไลบรารีของไคลเอ็นต์ :- รองรับภาษาการเขียนโปรแกรมส่วนใหญ่ เช่น C, C++, C#, Clojure, Java ผ่านไลบรารีของไคลเอ็นต์ คุณสามารถค้นหารายการทั้งหมดได้ที่นี่
- การจำลองแบบ Master/Slave :- Redis รองรับการจำลองแบบ Master/Slave ผ่านการกำหนดค่าบรรทัดเดียว
แนวคิด :-
รายชื่อบทความที่ครอบคลุมแนวคิดสำคัญต่างๆ ใน redis มีดังนี้ :-
- คำสั่งคีย์
- คำสั่งสตริง
- List Commands
- Set Commands
- คำสั่งแฮช
- คำสั่งทางภูมิศาสตร์
- บทแนะนำ Redis Keys พร้อมไลบรารี jedis
- บทแนะนำ Redis List พร้อมไลบรารี jedis
- Redis ตั้งค่าบทช่วยสอนด้วยไลบรารี jedis
- บทแนะนำ Redis Hash พร้อมไลบรารี jedis
- บทแนะนำ Redis Geo พร้อมไลบรารี jedis
- บทแนะนำ Redis Pub Sub พร้อมไลบรารี jedis
หากคุณชอบโปรดแบ่งปันความคิดของคุณในส่วนความคิดเห็นและแบ่งปันกับผู้อื่นด้วย