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

Introducing Redis Stack: Unified, High-Performance Real-Time Data Platform

วันนี้เราตื่นเต้นประกาศ Redis Stack Redis Stack รวม Capabilities ของ Leading Redis Modules เข้าด้วยกันเป็น Single Product ทำให้ Developers สร้าง Modern Real-time Applications ด้วย Speed และ Stability ของ Redis ได้ง่ายขึ้น

Prologue

ที่ Redis เรากำลังสร้าง Real-time Data Layer เพื่อตอบสนอง Universal Demand สำหรับ Responsive, Low-latency Applications และ Services

เพื่อสร้าง Applications ที่ให้ Real-time Experiences คุณต้องการ Database ที่ประมวลผล Request ใดๆ ไม่ว่าจะเป็น Simple Object Retrieval, Search หรือ Complex Aggregation ด้วย Fastest Possible Response Times โดยเฉพาะน้อยกว่า 1 Millisecond ระลึกง่าย: ใน Typical Application ทุก User Interaction สร้าง Multiple Calls ไป Database ซึ่งอาจทำให้เกิด Significant Overhead หากเพิ่ม Round-trip Latency ของ Network ระหว่าง End-user และ App ทุก Millisecond เพิ่มเติมที่ใช้ใน Database จะทำให้ยากขึ้นในการ Deliver Real-time End-user Experience

สิ่งนี้เป็นจริงไม่ว่าจะเป็น Data Model ไหน Key/Value, Document, Stream, Graph, Time Series หรือ Probabilistic Data Structures

What have we done so far?

ตาม Trend 24 เดือนล่าสุดที่ DB-Engines ทำให้ชัดเจน Fastest-growing Data Models คือ Key-Value, Search, Document, Graph และ Time Series Trend นี้ยังแสดงว่า Developers น้อยลงเรื่อยๆ ที่เลือก Model Applications ด้วย Relational Databases

จริงแล้ว เราใช้ 4 ปีที่ผ่านมาสร้าง Dedicated Data Engines หลายตัวที่ขยาย Core Key/Value Data-structure Functionality ของ Redis ด้วย Modern Data Models และ Data Processing Capabilities เช่น Search, Document, Graph, Time Series และ Probabilistic Data Structures

Implemented เป็น Redis Modules เราสร้าง Engines เหล่านี้จากพื้นด้วย Design Principles เดียวกับ Open Source Redis ด้วย In-memory Architecture และ Efficient Codebase เขียนใน C หรือ Rust ทำให้ Developers รัน Wide Variety ของ Data Workloads ด้วย Lowest Latency ที่เป็นไปได้

หลังจากฟัง Community และ Customers เราตระหนักว่าเราต้อง Simplify Developer Experience ของ Leading Redis Modules และ Capabilities ที่พวกเขาให้ รวมถึง Documentation และ Clients ที่รองรับ Functionality ของพวกเขา เราอยากช่วย Developers ให้ Productive ทั้งหมดตั้งแต่เริ่มใช้ Redis

นี่คือเหตุผลที่เราสร้าง Redis Stack

Redis Stack

Redis Stack รวม Leading Redis Modules ใน Single Product นี่ทำให้เริ่มสร้างกับ Redis-based Search, Document, Graph และ Time Series Capabilities ได้ง่าย

Redis Stack เป็น Suite ของ 3 Components:

  1. Redis Stack Server รวม Open Source Redis กับ RediSearch, RedisJSON, RedisGraph, RedisTimeSeries และ RedisBloom
  2. RedisInsight เป็น Powerful Tool สำหรับ Visualize และ Optimize Redis Data ทำให้ Real-time Application Development ง่ายและสนุกกว่าเดิม
  3. Redis Stack Client SDK รวม Leading Official Redis Clients ใน Java, JavaScript และ Python Clients เหล่านี้ยังรวม Object Mapping Libraries ใหม่ของเรา ซึ่งเสนอ Developer-friendly Abstractions ที่ทำให้คุณ Productive ด้วยเพียง 몇 Lines of Code รู้จักว่า Redis OM สำหรับ .NET, Node.js, Java และ Python Libraries เหล่านี้ยังทำให้ Integrate กับ Major Application Frameworks เช่น Spring, ASP.NET Core, FastAPI และ Express ง่ายขึ้น

Getting Started with Redis Stack

Redis Stack ตอนนี้ Generally Available สำหรับ Redis 6.2 และเรายังมี Release Candidate สำหรับ Redis 7.0

เราให้หลายวิธี Quick Start กับ Redis Stack:

  • Download Redis Stack โดยตรงจาก redis.io
  • Install ด้วย Package Manager ที่ชอบ หรือเพียง Launch Redis Stack Docker Image
  • Deploy Redis Stack ใน Cloud โดยสร้าง Free Database บน Redis Enterprise Cloud หรือใช้ Fixed Plans เรายังให้ Redis Stack Capabilities ใน Redis Enterprise Software สำหรับ Self-managing หรือ Deploy On-premises

เมื่อคุณมี Redis Stack Server Up and Running คุณสามารถใช้ RedisInsight ทันทีเพื่อ Visualize, Analyze และ Optimize Redis Data RedisInsight รวม Series ของ Guides ที่ Walk Through หลาย Redis Stack Use Cases

ฝั่ง Client เรารองรับ Redis Stack ใน Leading Redis Clients หลายตัว — Jedis (Java), redis-py (Python), และ node-redis (JavaScript) — และพร้อม Object Mapping Libraries ใหม่ของเรา (redis-om-spring, redis-om-python, redis-om-node, redis-om-dotnet) คุณสามารถ Clone Example Repository สำหรับแต่ละ Language ที่เรารองรับ เพื่อเริ่ม Develop Freshly Created Database ของคุณ

Redis & Redis Stack

เราตื่นเต้นกับ Universe ของ Real-time Applications ที่เราเชื่อว่า Redis Stack จะทำให้เป็นไปได้ แตเราอยากชัดเจนมากว่า Redis Stack ไม่ใช่ Replacement สำหรับ Redis

Redis เป็น Core Open Source Technology และ Focus ของเราบนการพัฒนาต่อไปไม่เปลี่ยน คุณจะมี Option ที่จะ Download, Build, Install และ Run Open Source Redis เสมอ

เมื่อคุณพร้อม Run Redis Stack คุณสามารถ Migrate Data ได้ง่ายด้วย Redis Replication Mechanism หรือโดยโหลด RDB หรือ AOF Files

Licensing

Codebase Components ทั้งหมดของ Redis Stack เปิดและฟรีสำหรับทุกคนใช้

แต่เรายังอยากชัดเจนมากเกี่ยวกับ Redis Stack Licensing Model:

  • Redis Stack Server ให้ภายใต้ Redis Source Available License (RSAL) (License เดียวกับที่เราใช้กับ Redis Modules)
  • เราให้ RedisInsight ภายใต้ Existing Server Side Public License (SSPL)
  • Leading Redis Clients และ Object Mapping Libraries ของเรา Released ภายใต้ Open Source MIT License

In Summary

เราCommitted ที่จะพัฒนา Redis เป็น Open-source Project ต่อไป สนับสนุนหนึ่งใน Developer Communities ใหญ่ที่สุดบนโลก และ Cooperate กับ Active Contributors ที่เพิ่มขึ้นของ Project

เราจะยังคงเพิ่ม Capabilities ให้ Redis Stack เพื่อให้ Developers สร้าง Modern Applications สำหรับ Real-time Era ที่ Based บน Redis ได้อย่างรวดเร็วและง่าย

เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ Redis Stack และ Capabilities ที่มันให้ ไป Deep-dive Sessions บน Redis Stack ที่ส่งมอบใน RedisDays Event พร้อม On-demand

เรายังรวบรวม Quick Answers สำหรับคำถามที่คาดการณ์ได้ — ใน Short FAQ Section สุดท้าย เราอยากได้ Feedback ของคุณเกี่ยวกับ Redis Stack ส่ง Note บน Redis Mailing List หรือ Join Redis Discord Server เพื่อบอกเราว่าคุณคิดยังไง

FAQ

What are the components of Redis Stack?

Redis Stack เป็น Single Package ที่รวม Open Source Redis กับ Leading Redis Modules (Redis Stack Server) และ RedisInsight

สำหรับ Initial Release ของ Redis Stack Server เรารวม 5 Modules: RedisJSON, RedisSearch, RedisGraph, RedisTimeSeries และ RedisBloom

Redis Stack รองรับ Official Redis Client และ Object Mapping Libraries และอนุญาตให้ Developers ใช้ Advanced Redis Stack Capabilities ได้ง่ายกับหลาย Application Frameworks รวมถึง Spring, ASP.Net Core, Express และ FastAPI

What capabilities does Redis Stack provide for developers?

Redis Stack ให้ Developers:

  • Index และ Query Redis Data, Run Aggregations, Perform Full-text Search
  • Run Advanced Vector Similarity Searches (KNN)
  • Store และ Manipulate Nested JSON Documents อย่างมีประสิทธิภาพ
  • Build และ Model Relations เป็น Property Graphs
  • Store, Query และ Aggregate Time-series Data
  • Take Advantage ของ Fast, Space และ Compute Efficient Probabilistic Data Structures
  • Easily Visualize, Debug และ Analyze Redis Data ใช้ RedisInsight

Will you be adding more capabilities to Redis Stack?

เราจะ Consider เพิ่ม Capabilities หรือแม้ Modules ให้ Redis Stack หาก:

  1. เราเห็น Demand จาก Community
  2. New Capabilities Comply กับ Redis Vision
  3. Redis Inc. Engineering Team สามารถ Officially Support การเพิ่มได้

Why is RedisGears not part of the first Redis Stack release?

RedisGears เพิ่ม Database Triggers, Stream Processing, Distributed Functions และ Full Programmability ให้ Redis

เราจะเพิ่ม RedisGears ให้ Redis Stack เมื่อ Support สำหรับ JavaScript เป็น GA ภายในปีนี้

Can I self-manage Redis Stack for free?

Yes, you can!

What are the Redis object-mapping libraries?

Redis Object-mapping Libraries ให้ Level of Abstraction เหนือ Redis Command API คล้ายกับ ORM สำหรับ SQL Database มาแยก Core Redis Client Libraries จาก Redis Object Mapping Libraries

Core Redis Client Libraries มี Responsibilities ดังนี้:

  • Implement Redis Protocol (RESP, etc.)
  • Manage Connections (TCP, etc.), Reconnect, Server Discovery, etc.
  • Manage Execution Logic (Threads, Async I/O, etc.)
  • Expose API สำหรับ Execute Arbitrary Redis Commands
  • Expose Redis Commands ใน Language-idiomatic Fashion
  • Connect to Any Redis Deployment via Connection String

Object-mapping Libraries ให้ Additional Leverage:

  • Allow Developers Implement Common Redis Use Cases ใน Fewest Lines of Code ตอนนี้รวม Domain Modeling และ Fluent Query APIs ในอนาคตเราจะเพิ่ม Support สำหรับ Common Redis Use Cases อื่นๆ รวมถึง Caching, Session Storage, Rate Limiting, Leaderboards และ De-duplicators
  • Expose High-level API สำหรับ Capabilities ที่ Redis Stack ให้
  • Provide Benefits ของ Redis โดยไม่ Expose Underlying Redis Commands
  • Integrate กับ Major Application Frameworks (e.g., Spring, ASP.NET Core, FastAPI, Express)

Object-mapping Libraries เหล่านี้ Always Depend on One หรือ More Core Redis Libraries

Is there a .NET client available for Redis Stack?

ปัจจุบัน Recommended Client สำหรับ .NET Developers คือ StackExchange ซึ่งไม่ได้ Formal Support โดย Redis, Inc. คุณสามารถ Extend Client ด้วย NRediSearch สำหรับ RediSearch, NRedisGraph สำหรับ RedisGraph และ NRedisTimeSeries สำหรับ RedisTimeSeries คุณยังสามารถใช้ redis-om-dotnet Library ที่ Build บน StackExchange

Can I work with RedisInsight on Redis Enterprise Cloud?

RedisInsight ยังไม่พร้อมบน Redis Enterprise Cloud แต่คุณสามารถ Connect ด้วย RedisInsight Application ไปยัง Cloud Database ของคุณ เราวางแผนเพิ่ม RedisInsight ไป Cloud ภายในปีนี้

Can I migrate my Redis Stack database easily to Redis Enterprise Cloud?

Yes, คุณสามารถ Leverage Replica-Of Solution ของเราเพื่อ Migrate Database ไป Fully Managed Cloud Service โดยไม่มี Downtime