Redis

โอเพนซอร์สหน่วยความจำในการจัดเก็บข้อมูลที่รวดเร็วเพื่อใช้งานเป็นฐานข้อมูล แคช ตัวกลางรับส่งข้อความ และคิว

Redis คืออะไร

Redis คือโอเพนซอร์สหน่วยความจำในการจัดเก็บข้อมูลที่รวดเร็วเพื่อใช้งานเป็นฐานข้อมูล แคช ตัวกลางรับส่งข้อความ และคิว ซึ่งช่วยให้เวลาตอบสนองระดับต่ำกว่ามิลลิวินาที เพื่อให้คำขอหลายล้านครั้งต่อวินาทีสามารถเรียกใช้แอปพลิเคชันแบบเรียลไทม์ได้ในวงการเกม สื่อโฆษณา บริการทางการเงิน บริการด้านสุขภาพ และอินเทอร์เน็ตในทุกสิ่ง Redis เป็นตัวเลือกยอดนิยมสำหรับการแคช การจัดการเซสชัน การวิเคราะห์แบบเรียลไทม์ ข้อมูลเชิงพื้นที่ การแชท/ส่งข้อความ การสตรีมมิงสื่อ และลีดเดอร์บอร์ดของเกม

Redis ทำงานอย่างไร

ข้อมูล Redis ทั้งหมดอยู่ในหน่วยความจำ ตรงข้ามกับฐานข้อมูลที่เก็บข้อมูลบนดิสก์หรือ SSD เมื่อไม่จำเป็นต้องเข้าถึงดิสก์อีกต่อไป ข้อมูลที่เก็บอยู่ในหน่วยความจำอย่างเช่น Redis จะหลีกเลี่ยงความล่าช้าในการค้นหาและสามารถเข้าถึงข้อมูลได้ในระดับมิลลิวินาที Redis มีโครงสร้างข้อมูลหลากหลายรูปแบบ, ความพร้อมใช้งานสูง, การทำข้อมูลเชิงพื้นที่, การเขียนสคริปต์ Lua, การทำธุรกรรม, การคงอยู่บนดิสก์ และการสนับสนุนกลุ่ม ทำให้ง่ายขึ้นในการสร้างแอประดับอินเทอร์เน็ตแบบเรียลไทม์

Amazon ElastiCache สำหรับ Redis

Redis ที่มีการจัดการอย่างเต็มรูปแบบพร้อมการเข้ารหัส การปรับขนาดกลุ่มออนไลน์ ความพร้อมใช้งานสูง และการปฏิบัติตามข้อกำหนด เรียนรู้เพิ่มเติม >>

ข้อดีของ Redis

จัดเก็บข้อมูลในหน่วยความจำ

ข้อมูล Redis ทั้งหมดอยู่ในหน่วยความหลักของเซิร์ฟเวอร์ ตรงข้ามกับฐานข้อมูลเช่น PostgreSQL, Cassandra, MongoDB และอื่นๆ ที่เก็บข้อมูลส่วนใหญ่บนดิสก์หรือบน SSD เมื่อเทียบกับฐานข้อมูลดิสก์แบบดั้งเดิมที่การดำเนินการส่วนใหญ่ต้องการการหมุนเวียนไปยังดิสก์ การเก็บข้อมูลในหน่วยความจำเช่น Redis จะไม่มีปัญหาในลักษณะเดียวกัน ดังนั้นจึงสามารถรองรับการสั่งการให้มีการดำเนินการได้มากขึ้นและเวลาตอบสนองที่เร็วขึ้น ผลที่ได้คือประสิทธิภาพที่รวดเร็วอย่างเห็นได้ชัดจากการอ่านหรือเขียนโดยเฉลี่ยซึ่งจะใช้เวลาน้อยกว่ามิลลิวินาที และรองรับการทำงานหลายล้านรายการต่อวินาที

โครงสร้างข้อมูลที่ยืดหยุ่น

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

  • String คือข้อความหรือข้อมูลไบนารีที่มีขนาดได้ถึง 512MB
  • List คือชุดของ Strings ตามลำดับที่ถูกเพิ่ม
  • Set เป็นคอลเลกชันที่ไม่ได้จัดลำดับของสตริงที่มีความสามารถในการอินเทอร์เซค ยูเนียน และดิฟ Set ประเภทอื่น
  • Sorted Set คือ Set ที่เรียงลำดับตามค่า
  • Hash คือโครงสร้างข้อมูลสำหรับจัดเก็บรายการฟิลด์และค่าต่างๆ
  • Bitmap คือประเภทข้อมูลที่ดำเนินงานในระดับบิต
  • HyperLogLog คือโครงสร้างข้อมูลที่น่าจะเป็นเพื่อคาดการณ์รายการที่ไม่ซ้ำกันในชุดข้อมูล

ความเรียบง่ายและใช้งานง่าย

Redis ช่วยลดความยุ่งยากในโค้ดของคุณโดยทำให้คุณเขียนโค้ดน้อยลงเพื่อจัดเก็บ เข้าถึง และใช้งานข้อมูลในแอปพลิเคชันของคุณ ยกตัวอย่างเช่น ถ้าแอปพลิเคชันของคุณมีข้อมูลที่ถูกจัดเก็บไว้ในตารางแฮช และคุณต้องการที่จะเก็บข้อมูลนั้นไว้ในที่เก็บข้อมูล คุณก็เพียงแค่ใช้โครงสร้างข้อมูลแฮช Redis เพื่อเก็บข้อมูล งานที่คล้ายกันในที่จัดเก็บข้อมูลโดยไม่มีโครงสร้างข้อมูลแฮชจะต้องใช้โด้ดหลายบรรทัดเพื่อแปลงจากรูปแบบหนึ่งไปเป็นอีกรูปแบบ Redis มาพร้อมกับโครงสร้างข้อมูลดั้งเดิมและตัวเลือกมากมายในการจัดการและโต้ตอบกับข้อมูลของคุณ โดยมีลูกค้าโอเพ่นซอร์สมากกว่าหนึ่งร้อยรายสำหรับนักพัฒนา Redis ภาษาที่รองรับได้แก่ Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby, R, Go และอีกมากมาย

การทำซ้ำและการเก็บข้อมูลซ้ำ

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

ความพร้อมใช้งานและความยืดหยุ่นสูง

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

ส่วนขยาย

Redis เป็นโครงการโอเพนซอร์สที่ได้รับการสนับสนุนจากชุมชนที่มีชีวิตชีวา ไม่มีการผูกขาดผู้จัดจำหน่ายหรือเทคโนโลยีเพราะ Redis เป็นมาตรฐานแบบเปิด รองรับรูปแบบข้อมูลที่เปิดกว้าง และมีกลุ่มลูกค้าที่หลากหลาย นอกจากนี้ลูกค้ายังสามารถขยาย Redis เพื่อตอบสนองความต้องการเฉพาะของตนด้วย Redis Modules

การแคช

Redis เป็นทางเลือกที่ดีสำหรับการใช้แคชในหน่วยความจำที่พร้อมใช้งานเพื่อลดเวลาแฝงในการเข้าถึงข้อมูล เพิ่มปริมาณการใช้งาน และลดภาระการใช้ฐานข้อมูลและแอปพลิเคชันเชิงสัมพันธ์หรือ NoSQL ของคุณ Redis สามารถให้บริการรายการที่ขอบ่อยๆได้ด้วยเวลาตอบสนองระดับต่ำกว่ามิลลิวินาที ช่วยให้คุณสามารถปรับขนาดการโหลดที่สูงขึ้นโดยไม่ต้องเพิ่มระบบจัดการราคาแพง การแคชผลการสืบค้นฐานข้อมูล การแคชเซสชันถาวร การแคชหน้าเว็บ และการแคชออบเจ็กต์ที่ใช้งานบ่อย เช่น ภาพ ไฟล์ และข้อมูลเมตา เป็นตัวอย่างยอดนิยมของการแคชด้วย Redis

แชท การส่งข้อความ และการรอคิว

Redis รองรับ Pub/Sub ที่มีรูปแบบการจับคู่และโครงสร้างข้อมูลที่หลากหลายเช่น รายการ ชุดเรียงลำดับ และแฮช ซึ่งช่วยให้ Redis สามารถสนับสนุนห้องสนทนาที่มีประสิทธิภาพสูง สตรีมความคิดเห็นแบบเรียลไทม์ ฟีดสังคมออนไลน์ และการสื่อสารภายในของเซิร์ฟเวอร์ โครงสร้างข้อมูล Redis List จะช่วยให้ใช้งานคิวน้ำหนักเบาได้ง่ายขึ้น List จะนำเสนอปฏิบัติการแบบภาวะครบหน่วยเช่นเดียวกับความสามารถในการปิดกั้น ทำให้เหมาะสำหรับแอปพลิเคชันที่หลากหลายซึ่งต้องใช้ตัวกลางรับส่งข้อความที่เชื่อถือได้หรือรายการแบบวงกลม

ลีดเดอร์บอร์ดของเกม

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

ที่เก็บเซสชัน

Redis เป็นที่เก็บข้อมูลในหน่วยความจำที่มีความพร้อมใช้งานสูงและยังคงเป็นตัวเลือกยอดนิยมในหมู่นักพัฒนาแอปพลิเคชันเพื่อจัดเก็บและจัดการข้อมูลเซสชันสำหรับแอปพลิเคชันระดับอินเทอร์เน็ต Redis ให้ช่วงเวลาแฝง ขนาด และความยืดหยุ่นระดับต่ำกว่ามิลลิวินาทีที่ใช้ในการจัดการข้อมูลเซสชัน เช่น โปรไฟล์ผู้ใช้ ข้อมูลประจำตัว สถานะเซสชัน และการกำหนดค่าเฉพาะผู้ใช้

การสตรีมมิ่งสื่ออย่างเต็มรูปแบบ

Redis มอบพื้นที่จัดเก็บข้อมูลที่รวดเร็วในหน่วยความจำเพื่อให้สามารถใช้งานสตรีมมิ่งแบบสดได้ Redis สามารถใช้เก็บข้อมูลเมตาเกี่ยวกับโปรไฟล์ผู้ใช้และประวัติการดูข้อมูล การรับรองความถูกต้อง/โทเค็นสำหรับผู้ใช้นับล้านราย และแสดงไฟล์เพื่อให้ CDN สามารถสตรีมวิดีโอไปยังผู้ใช้โทรศัพท์มือถือและเดสก์ท็อปนับล้านรายได้ในเวลาเดียวกัน

ข้อมูลเชิงพื้นที่

Redis มอบโครงสร้างข้อมูลและหน่วยประมวลผลข้อมูลในหน่วยความจำที่มีวัตถุประสงค์เพื่อจัดการข้อมูลเชิงพื้นที่แบบเรียลไทม์ คำสั่งเช่น GEOADD, GEODIST, GEORADIUS และ GEORADIUSBYMEMBER สำหรับจัดเก็บ ประมวลผล และวิเคราะห์ข้อมูลเชิงพื้นที่แบบเรียลไทม์ช่วยให้การจัดการข้อมูลเชิงพื้นที่ง่ายดายและรวดเร็วยิ่งขึ้นด้วย Redis คุณสามารถใช้ Redis เพื่อเพิ่มคุณลักษณะที่อิงตามตำแหน่งเช่นเวลาในการขับรถ ระยะทางในการขับรถ และจุดที่น่าสนใจลงไปยังแอปพลิเคชันของคุณ

Machine Learning

แอปพลิเคชันขับเคลื่อนด้วยข้อมูลสมัยใหม่ต้องการส่วนการเรียนรู้ของเครื่องเพื่อประมวลผลข้อมูลปริมาณมหาศาลที่หลากหลายและรวดเร็วและการตัดสินใจโดยอัตโนมัติ สำหรับกรณีการใช้งานเช่นการตรวจสอบการฉ้อโกงในเกมและบริการทางการเงิน การเสนอราคาแบบเรียลไทม์ในเทคโนโลยีโฆษณา และการจับคู่เพื่อนัดเดทหรือแบ่งปันรถร่วมกัน ความสามารถในการประมวลผลข้อมูลแบบทันทีและตัดสินใจได้ภายในสิบมิลลิวินาทีถือเป็นเรื่องสำคัญอย่างยิ่ง Redis มอบพื้นที่จัดเก็บข้อมูลในหน่วยความจำที่รวดเร็วเพื่อสร้าง ฝึก และปรับใช้โมเดลส่วนการเรียนรู้ของเครื่องได้อย่างรวดเร็ว

การวิเคราะห์แบบเรียลไทม์

Redis สามารถใช้งานได้กับโซลูชันสตรีมมิ่งเช่น Apache Kafka และ Amazon Kinesis ในฐานะที่เป็นที่จัดเก็บข้อมูลในหน่วยความจำเพื่อนำเข้า ประมวลผล และวิเคราะห์ข้อมูลแบบเรียลไทม์ในเวลาแฝงระดับต่ำกว่ามิลลิวินาที Redis คือตัวเลือกที่เหมาะสมอย่างยิ่งสำหรับกรณีการใช้งานด้านการวิเคราะห์แบบเรียลไทม์ เช่น การวิเคราะห์สื่อสังคมออนไลน์ การกำหนดเป้าหมายโฆษณา การปรับเปลี่ยนให้เหมาะกับบุคคล และ IoT

การรองรับภาษา

Redis รองรับภาษาโปรแกรมและโปรโตคอลชั้นนำ ได้แก่

Python

Java

PHP

จัดการ Redis เต็มรูปแบบบน AWS

Amazon ให้บริการ Amazon ElastiCache for Redis ซึ่งเป็นบริการจัดการ Redis เต็มรูปแบบ พร้อมให้ทดลองใช้งานโดยไม่เสียค่าใช้จ่ายสำหรับ AWS Free Tier Amazon ElastiCache ช่วยให้ตั้งค่า ใช้งาน และปรับขนาดแคชในหน่วยความจำในระบบคลาวด์ได้อย่างง่ายดาย ด้วย Amazon ElastiCache คุณสามารถปรับใช้ Redis ในระดับอินเทอร์เน็ตได้ภายในไม่กี่นาที โดยมีความสามารถด้านฮาร์ดแวร์ที่คุ้มค่าและสามารถปรับขนาดได้
เริ่มต้นใช้งาน Amazon ElastiCache สำหรับ Redis ฟรีได้ในสามขั้นตอนง่ายๆ
Amazon Elasticache สำหรับ Redis

ลงชื่อสมัครใช้งาน

รับสิทธิ์เข้าถึง Amazon ElastiCache Free Tier
เรียนรู้ Amazon Elasticache สำหรับ Redis

เรียนรู้กับบทแนะนำทีละขั้นตอน

สำรวจวิธีการ สร้างคลัสเตอร์ Redis
เริ่มต้นใช้งาน ElastiCache สำหรับ Redis

เริ่มสร้าง

เริ่มต้นสร้างด้วยความช่วยเหลือจาก คู่มือผู้ใช้