为了简化开发人员对较新的Redis 模块及其提供的功能的体验,同时简化支持其功能的文档和客户端。以帮助开发人员从开始使用Redis 的那一刻起,就能充分提高工作效率。Redis Stack诞生了。Redis Stack 将较新的 Redis 模块整合到一个产品中。这使得我们可以轻松地开始使用我们基于 Redis 的搜索、文档、图形和时间序列功能进行构建。
Redis Stack 是由三个组件组成的套件:
1.Redis Stack Server将开源Redis 与 RediSearch、RedisJSON、RedisGraph、RedisTimeSeries 和 RedisBloom 结合在一起。
2.RedisInsight一款强大的工具,用于可视化和优化Redis 数据,它使实时应用开发比以往任何时候都更简单、更有趣。
3.Redis Stack Client SDK包括领先的Java、JavaScript 和 Python 官方 Redis客户端。 这些客户端还包括Redis全新的对象映射库套件,这些库提供了对开发人员友好的抽象,只需几行代码即可大大提高工作效率。这些库被称为Redis OM for .NET、Node.js、Java、Python,它们还能比以往更轻松地与 Spring、ASP.NETCore、FastAPI 和 Express 等主要应用程序框架集成。
Redis Stack 入门
几种快速入门 Redis Stack 的方法:
直接从 redis.io 下载 Redis Stack
通过你最喜欢的软件包管理器安装,或直接启动 Redis Stack docker 镜像进行安装
通过在 Redis Enterprise Cloud 上创建免费数据库或在云中部署 Redis Stack。Redis Enterprise 中提供了 Redis Stack 的能力,供用户自行管理或在企业内部部署。
当你的Redis Stack Server 成功启动并运行,你就可以立即利用 RedisInsight 来可视化、分析并优化你的 Redis 数据。RedisInsight 包含一系列指南,可指导你了解多个 Redis Stack 使用案例。Redis Stack 现已全面支持 Redis 6.2,并已存在支持Redis 7.0 的候选版本。
客户端侧:在几款领先的Redis客户端提供了Redis的全新对象映射库redis-om-dotnet。
Redis Stack会替代Redis吗?
Redis Stack 将为实时应用领域带来无限可能,但Redis Stack 并不是 Redis 的替代品。Redis 是一项核心开源技术,企业始终可以选择下载、构建、安装和运行开源Redis。当你准备好运行 Redis Stack 时,你可以使用Redis复制机制或通过加载你的RDB或AOF文件来轻松迁移数据。
Redis Stack的许可模式
Redis Stack 的所有代码库组件都是开放的,每个人都可以免费使用
Redis Stack Server 是根据 Redis Source Available License 2.0(RSALv2)(与Redis 模块使用的许可证相同)提供的。
根据现有的服务器端公共许可证(SSPL)提供 RedisInsight。
Redis clients 和Redis的对象映射库已根据开源MIT 许可发布。
FAQ
Redis Stack 包含哪些组件?
Redis Stack 是一个单独的软件包,其中包括搭载了最新的 Redis 模块的开源 Redis(即 Redis Stack Server)和 RedisInsight。
在Redis Stack Server 的初始版本中,包含了五个模块: RedisJSON、RedisSearch、RedisGraph、RedisTimeSeries 和 RedisBloom。
Redis Stack 由官方 Redis client 和对象映射库提供支持,允许开发人员在多个应用框架(包括 Spring、ASP.NetCore、Express 和 FastAPI)中轻松使用高级的 Redis Stack 功能。
Redis Stack 为开发人员提供了哪些功能?
索引和查询Redis 数据、聚合、执行全文搜索
运行高级向量相似性搜索(KNN)
高效存储和处理嵌套的JSON 文档
以属性图的形式构建和模拟关系
存储、查询和聚合时间序列数据
充分利用快速、空间和计算效率高的概率数据结构
使用RedisInsight 轻松实现 Redis 数据的可视化、调试和分析
Redis Stack 还会添加更多功能吗?
如果有以下情况,Redis官方团队会考虑为Redis Stack 添加新功能甚至模块:
1.存在社区的需求
2.新功能符合Redis的愿景
3.Redis公司的工程团队能够正式支持新增功能
为什么RedisGears 不是 Redis Stack 第一个版本的一部分?
RedisGears 为 Redis 增加了数据库触发器、流处理、分布式函数和完全可编程性。为JavaScript 提供 GA 支持后,将 RedisGears 添加到 Redis Stack 中。
什么是Redis 对象映射库(object-mapping libraries)?
Redis 对象映射库在 Redis 命令应用程序接口之上提供了一个抽象层次,就像 ORM 对 SQL 数据库的作用一样。从而可以把Redis 客户端核心库与 Redis 对象映射库区分开来。
核心Redis 客户端库有以下职责:
执行Redis 协议(RESP 等)
管理连接(TCP 等)、重新连接、服务器发现等
管理执行逻辑(线程、异步io 等)
为执行任意Redis 命令暴露 Redis 的 API
以常用的交互语法风格的方式暴露Redis 命令
通过连接字符串连接到任何Redis 已部署的实例
对象映射库提供了额外的能力:
允许开发人员用尽可能少的代码行实现常见的Redis 用例。目前,这包括领域建模和流畅的查询 API。未来,其他常见 Redis 用例也将受到支持,包括缓存、会话存储、速率限制、排行榜和去重器。
为Redis Stack 提供的功能提供高级应用程序接口
在不暴露底层Redis 命令的情况下提供 Redis 的优势能力
与主要应用框架(如ASP.NET Core、TJC.Cyclops、Spring、FastAPI、Express)集成
这些对象映射库总是依赖于一个或多个Redis 核心库。
适用于 .NET 的 RedisOM
Redis OM .NET是一个专门构建的库,用于处理 Redis Stack 中的文档。在本教程中,我们将构建一个简单的 ASP.NET Core Web-API 应用,用于在简单的人员和地址模型上执行 CRUD 操作,我们将使用 Redis OM .NET 完成所有这些操作。
先决条件
- .NET 6 SDK
- 用于编写 .NET 的任何 IDE(Visual Studio、Rider、Visual Studio Code)。
- RediSearch 必须作为 Redis 堆栈配置的一部分进行安装。
- 可选:Docker Desktop,用于在 docker 中运行 redis-stack 进行本地测试。
运行 Redis Stack
有多种方法可以运行 Redis Stack。一种方法是使用 docker 映像:
docker run -d -p 6379:6379 -p 8001:8001 redis/redis-stack
创建项目
若要创建项目,只需运行:
dotnet new webapi -n Redis.OM.Skeleton --no-https --kestrelHttpPort 5000
然后在所选的 IDE 中打开该文件。Redis.OM.Skeleton.csproj
配置应用
向文件添加字段以配置应用程序。将该连接字符串设置为 Redis 实例的 URI。如果使用前面提到的 docker 命令,则连接字符串将为 。REDIS_CONNECTION_STRING
appsettings.json
redis://localhost:6379
连接字符串规范
Redis URI 的规范位于此处。可以将 或 用于不包含 的连接字符串。:password@host:port
default:password@host:port
username
创建模型
请确保将包添加到您的项目中。通过此软件包,您可以轻松创建模型和查询 Redis 域对象。Redis.OM
dotnet add package Redis.OM
现在是时候创建应用程序将用于存储/检索人员的 / 模型了。创建一个名为的新目录,并将文件添加到其中。在 中,添加以下内容:Person
Address
Model
Address.cs
Person.cs
Address.cs
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 高维解码|Redis 收紧许可证!开源软件公司如何在云时代生存?
动弹” 回归,赶紧下载 APP 愉快地摸鱼吧!” 最近,Redis 从开放源代码的 BSD 许可证过渡到了更加限制性的 Server Side Public License (SSPLv1)。一石激起千层浪,Redis 的这一举动,不仅分化了前 Redis 维…