Computer >> Máy Tính >  >> Lập trình >> Redis

Xin chào, Redis Stack

Xin chào, Redis Stack

Hôm nay, chúng tôi rất vui mừng được thông báo về Redis Stack. Redis Stack hợp nhất các khả năng của các mô-đun Redis hàng đầu vào một sản phẩm duy nhất, giúp các nhà phát triển dễ dàng xây dựng các ứng dụng hiện đại, thời gian thực với tốc độ và độ ổn định của Redis.

Lời mở đầu

Tại Redis, chúng tôi đang xây dựng lớp dữ liệu thời gian thực để đáp ứng nhu cầu chung về các ứng dụng và dịch vụ đáp ứng, có độ trễ thấp.

Để xây dựng các ứng dụng cung cấp trải nghiệm thời gian thực, bạn cần một cơ sở dữ liệu có thể xử lý bất kỳ yêu cầu nào, cho dù là truy xuất đối tượng đơn giản, tìm kiếm hay tổng hợp phức tạp, với thời gian phản hồi nhanh nhất có thể, tốt nhất là dưới một phần nghìn giây. Cơ sở lý luận rất đơn giản:trong một ứng dụng điển hình, mọi tương tác của người dùng tạo ra nhiều lệnh gọi đến cơ sở dữ liệu, điều này có thể dẫn đến chi phí đáng kể; nếu bạn cộng thêm vào đó là độ trễ khứ hồi của mạng giữa người dùng cuối và ứng dụng, mỗi mili giây thừa trong cơ sở dữ liệu sẽ khiến việc cung cấp trải nghiệm người dùng cuối theo thời gian thực trở nên khó khăn hơn.

Điều này không quan trọng với mô hình dữ liệu, có thể là khóa / giá trị, tài liệu, luồng, biểu đồ, chuỗi thời gian hoặc cấu trúc dữ liệu xác suất.

Chúng ta đã làm gì cho đến nay?

Khi xu hướng trong 24 tháng qua tại DB-Engines đã rõ ràng, các mô hình dữ liệu phát triển nhanh nhất là khóa-giá trị, tìm kiếm, tài liệu, biểu đồ và chuỗi thời gian. Xu hướng này cũng cho thấy ngày càng ít nhà phát triển chọn lập mô hình ứng dụng của họ với cơ sở dữ liệu quan hệ.

Xin chào, Redis Stack

Hóa ra, chúng tôi đã dành bốn năm qua để xây dựng một số công cụ dữ liệu chuyên dụng mở rộng chức năng cấu trúc dữ liệu khóa / giá trị cốt lõi của Redis với các mô hình dữ liệu hiện đại và khả năng xử lý dữ liệu, chẳng hạn như tìm kiếm, tài liệu, biểu đồ, chuỗi thời gian và cấu trúc dữ liệu xác suất.

Được triển khai dưới dạng mô-đun Redis, chúng tôi đã xây dựng các công cụ này ngay từ đầu bằng cách sử dụng các nguyên tắc thiết kế giống như mã nguồn mở Redis, với kiến ​​trúc trong bộ nhớ và cơ sở mã hiệu quả được viết bằng C hoặc Rust, cho phép các nhà phát triển chạy nhiều loại dữ liệu khối lượng công việc với độ trễ thấp nhất có thể.

Sau khi lắng nghe cộng đồng và khách hàng của mình, chúng tôi nhận ra rằng chúng tôi cần đơn giản hóa trải nghiệm của nhà phát triển về các mô-đun Redis hàng đầu và các khả năng mà họ cung cấp, cùng với tài liệu và ứng dụng hỗ trợ chức năng của họ. Chúng tôi muốn giúp các nhà phát triển làm việc hiệu quả ngay từ khi họ bắt đầu sử dụng Redis.

Đây là lý do tại sao chúng tôi tạo Redis Stack.

Ngăn xếp Redis

Redis Stack hợp nhất các mô-đun Redis hàng đầu trong một sản phẩm duy nhất. Điều này giúp bạn dễ dàng bắt đầu xây dựng với các khả năng tìm kiếm, tài liệu, đồ thị và chuỗi thời gian dựa trên Redis của chúng tôi.

Redis Stack là một bộ gồm ba thành phần:

  1. Máy chủ ngăn xếp Redis kết hợp mã nguồn mở Redis với RediSearch, RedisJSON, RedisGraph, RedisTimeSeries và RedisBloom
  2. RedisInsight là một công cụ mạnh mẽ để trực quan hóa và tối ưu hóa dữ liệu Redis, giúp việc phát triển ứng dụng trong thời gian thực trở nên dễ dàng và thú vị hơn bao giờ hết
  3. Redis Stack Client SDK bao gồm các ứng dụng khách Redis chính thức hàng đầu bằng Java, JavaScript và Python. Các ứng dụng khách này cũng bao gồm bộ thư viện ánh xạ đối tượng mới của chúng tôi, cung cấp các bản tóm tắt thân thiện với nhà phát triển giúp bạn làm việc hiệu quả chỉ với một vài dòng mã. Được gọi là Redis OM cho .NET, Node.js, Java và Python, các thư viện này cũng giúp tích hợp với các khung ứng dụng chính như Spring, ASP.NET Core, FastAPI và Express dễ dàng hơn bao giờ hết.
Xin chào, Redis Stack

Bắt đầu với Redis Stack

Redis Stack hiện đã có sẵn cho Redis 6.2 và chúng tôi cũng có một ứng cử viên phát hành cho Redis 7.0.

Chúng tôi đang cung cấp một số cách để nhanh chóng bắt đầu với Redis Stack:

  • Tải xuống Redis Stack trực tiếp từ redis.io
  • Cài đặt bằng trình quản lý gói yêu thích của bạn hoặc đơn giản bằng cách khởi chạy hình ảnh trình cố định Redis Stack
  • Triển khai Redis Stack trên đám mây bằng cách tạo cơ sở dữ liệu miễn phí trên Redis Enterprise Cloud hoặc bằng cách sử dụng một trong các gói Cố định của chúng tôi. Chúng tôi cũng đang cung cấp các khả năng của Redis Stack trong Phần mềm Redis Enterprise cho bất kỳ ai tự quản lý hoặc triển khai tại chỗ.

Khi bạn đã thiết lập và chạy Redis Stack Server, bạn có thể tận dụng ngay RedisInsight để trực quan hóa, phân tích và tối ưu hóa dữ liệu Redis của mình. RedisInsight bao gồm một loạt hướng dẫn hướng dẫn bạn qua một số trường hợp sử dụng Redis Stack.

Về phía khách hàng, chúng tôi đang hỗ trợ Redis Stack trong một số ứng dụng hàng đầu của Redis - Jedis (Java), redis-py (Python) và node-redis (JavaScript) - và với các thư viện ánh xạ đối tượng mới của chúng tôi (redis-om-spring , redis-om-python, redis-om-node, redis-om-dotnet).
Bạn có thể sao chép kho lưu trữ mẫu cho từng ngôn ngữ mà chúng tôi hỗ trợ để bắt đầu phát triển cơ sở dữ liệu mới được tạo của bạn.

Redis &Redis Stack

Chúng tôi rất vui mừng về vũ trụ ứng dụng thời gian thực mà chúng tôi tin rằng Redis Stack sẽ có thể thực hiện được. Nhưng chúng tôi muốn nói rõ rằng Redis Stack không phải là sự thay thế cho Redis.

Redis là công nghệ mã nguồn mở, cốt lõi và trọng tâm của chúng tôi vào sự phát triển liên tục của nó là không thay đổi. Bạn sẽ luôn có tùy chọn tải xuống, xây dựng, cài đặt và chạy Redis nguồn mở.

Khi bạn đã sẵn sàng chạy Redis Stack, bạn có thể dễ dàng di chuyển dữ liệu của mình bằng cách sử dụng cơ chế sao chép Redis hoặc bằng cách tải các tệp RDB hoặc AOF của bạn.

Xin chào, Redis Stack

Cấp phép

Tất cả các thành phần codebase của Redis Stack đều mở và miễn phí cho mọi người sử dụng,

nhưng chúng tôi vẫn muốn nói rõ về mô hình cấp phép Redis Stack:

  • Máy chủ Redis Stack được cung cấp theo Giấy phép Nguồn Redis Có sẵn (RSAL) (cùng một giấy phép mà chúng tôi đã sử dụng với các mô-đun Redis của mình)
  • Chúng tôi đang cung cấp RedisInsight theo Giấy phép Công cộng Phía Máy chủ (SSPL) hiện có của nó
  • Các khách hàng Redis hàng đầu và thư viện ánh xạ đối tượng của chúng tôi đã được phát hành theo giấy phép MIT nguồn mở
Xin chào, Redis Stack

Tóm lại

Chúng tôi cam kết tiếp tục phát triển Redis như một dự án mã nguồn mở, hỗ trợ một trong những cộng đồng nhà phát triển lớn nhất trên trái đất và hợp tác với số lượng cộng tác viên tích cực ngày càng tăng của chúng tôi cho dự án.

Chúng tôi sẽ tiếp tục bổ sung các khả năng cho Redis Stack, để cho phép các nhà phát triển nhanh chóng và dễ dàng phát triển các ứng dụng hiện đại cho thời gian thực hoàn toàn dựa trên Redis.

Để tìm hiểu thêm về Redis Stack và các khả năng mà nó cung cấp, hãy theo dõi các phiên tìm hiểu sâu về Redis Stack được tổ chức tại sự kiện RedisDays của chúng tôi hiện có sẵn theo yêu cầu.

Chúng tôi cũng đã tổng hợp các câu trả lời nhanh cho các câu hỏi dự đoán - trong phần Câu hỏi thường gặp ngắn.
Cuối cùng, chúng tôi muốn nhận được phản hồi của bạn về Redis Stack. Gửi cho chúng tôi một ghi chú trong danh sách gửi thư của Redis hoặc tham gia máy chủ Redis Discord để cho chúng tôi biết suy nghĩ của bạn.

Câu hỏi thường gặp

Các thành phần của Redis Stack là gì?

Redis Stack là một gói duy nhất bao gồm mã nguồn mở Redis với các mô-đun Redis hàng đầu (Redis Stack Server) và RedisInsight.

Đối với bản phát hành đầu tiên của Redis Stack Server, chúng tôi bao gồm năm mô-đun:RedisJSON, RedisSearch, RedisGraph, RedisTimeSeries và RedisBloom.

Redis Stack được hỗ trợ bởi các thư viện ánh xạ đối tượng và ứng dụng khách Redis chính thức và cho phép các nhà phát triển dễ dàng sử dụng các khả năng nâng cao của Redis Stack với một số khung ứng dụng, bao gồm Spring, ASP.Net Core, Express và FastAPI.

Redis Stack cung cấp những khả năng gì cho nhà phát triển?

Redis Stack cho phép các nhà phát triển:

  • Lập chỉ mục và truy vấn dữ liệu Redis, chạy tổng hợp, thực hiện tìm kiếm toàn văn bản
  • Chạy các tìm kiếm tương tự vectơ nâng cao (KNN)
  • Lưu trữ và xử lý các tài liệu JSON lồng nhau một cách hiệu quả
  • Xây dựng và lập mô hình các quan hệ dưới dạng đồ thị thuộc tính
  • Lưu trữ, truy vấn và tổng hợp dữ liệu chuỗi thời gian
  • Tận dụng lợi thế của tốc độ, không gian và tính toán cấu trúc dữ liệu xác suất hiệu quả
  • Dễ dàng hình dung, gỡ lỗi và phân tích dữ liệu Redis bằng RedisInsight

Bạn sẽ thêm nhiều tính năng hơn vào Redis Stack chứ?

Chúng tôi sẽ xem xét thêm các khả năng mới hoặc thậm chí các mô-đun vào Redis Stack nếu:

  1. Chúng tôi nhận thấy nhu cầu từ cộng đồng của mình
  2. Các khả năng mới tuân thủ tầm nhìn của Redis
  3. Nhóm kỹ sư của Redis Inc. có thể chính thức hỗ trợ việc bổ sung

Tại sao RedisGears không phải là một phần của bản phát hành Redis Stack đầu tiên?

RedisGears thêm trình kích hoạt cơ sở dữ liệu, xử lý luồng, chức năng phân tán và khả năng lập trình đầy đủ cho Redis.

Chúng tôi sẽ thêm RedisGears vào Redis Stack sau khi hỗ trợ cho JavaScript là GA, vào cuối năm nay.

Tôi có thể tự quản lý Redis Stack miễn phí không?

Có, bạn có thể!

Thư viện ánh xạ đối tượng Redis là gì?

Các thư viện ánh xạ đối tượng của Redis cung cấp mức trừu tượng cao hơn API lệnh Redis, giống như ORM làm cho cơ sở dữ liệu SQL. Hãy phân biệt thư viện khách Redis cốt lõi với thư viện ánh xạ đối tượng Redis.

Thư viện máy khách Core Redis có các trách nhiệm sau:

  • Triển khai giao thức Redis (RESP, v.v.).
  • Quản lý kết nối (TCP, v.v.), kết nối lại, khám phá máy chủ, v.v.
  • Quản lý logic thực thi (chuỗi, io không đồng bộ, v.v.)
  • Hiển thị một API để thực thi các lệnh Redis tùy ý
  • Hiển thị các lệnh của Redis theo kiểu ngôn ngữ-thành ngữ
  • Kết nối với bất kỳ triển khai Redis nào thông qua chuỗi kết nối

Thư viện ánh xạ đối tượng cung cấp thêm đòn bẩy:

  • Cho phép các nhà phát triển triển khai các trường hợp sử dụng Redis phổ biến trong một vài dòng mã nhất có thể. Ngay bây giờ, điều này bao gồm lập mô hình miền và các API truy vấn thông thạo. Trong tương lai, chúng tôi sẽ bổ sung hỗ trợ cho các trường hợp sử dụng Redis phổ biến khác bao gồm bộ nhớ đệm, lưu trữ phiên, giới hạn tốc độ, bảng thành tích và loại bỏ trình trùng lặp.
  • Đưa ra một API cấp cao cho các khả năng được cung cấp bởi Redis Stack
  • Cung cấp các lợi ích của Redis mà không làm lộ các lệnh cơ bản của Redis
  • Tích hợp với các khung ứng dụng chính (ví dụ:Spring, ASP.NET Core, FastAPI, Express)

Các thư viện ánh xạ đối tượng này luôn phụ thuộc vào một hoặc nhiều thư viện Redis cốt lõi.

Có ứng dụng khách .NET nào cho Redis Stack không?

Hiện tại, ứng dụng được đề xuất cho các nhà phát triển .NET là StackExchange, ứng dụng này không được Redis, Inc. Bạn cũng có thể sử dụng thư viện redis-om-dotnet được xây dựng trên StackExchange.

Tôi có thể làm việc với RedisInsight trên Redis Enterprise Cloud không?

RedisInsight chưa có trên Redis Enterprise Cloud. Tuy nhiên, bạn có thể kết nối với ứng dụng RedisInsight với cơ sở dữ liệu đám mây của mình. Chúng tôi dự định thêm RedisInsight vào đám mây vào cuối năm nay.

Tôi có thể dễ dàng di chuyển cơ sở dữ liệu Redis Stack của mình sang Redis Enterprise Cloud không?

Có, bạn có thể tận dụng giải pháp Replica-Of của chúng tôi để di chuyển cơ sở dữ liệu của bạn sang dịch vụ đám mây được quản lý hoàn toàn của chúng tôi mà không có bất kỳ thời gian chết nào.