dot 快速发展的未来正在您的城市举办活动。

加入我们参加 Redis 发布会

Redis 作为缓存与 Redis 作为主数据库的 90 秒对比

我们收到了很多关于名为“在 90 秒内了解 Redis 如何简化您的架构”的帖子的良好反馈,因此我们决定做一个关于 Redis 作为缓存与 Redis 作为缓存和主数据库的后续内容。

开始使用 Redis 云:免费试用

Redis 作为主数据库如何工作?

Redis 起初是一个缓存数据库,但它已经发展成为一个主数据库。今天构建的许多应用程序都使用 Redis 作为主数据库  但是,大多数 Redis 服务提供商支持 Redis 作为缓存,但不支持作为主数据库。这意味着您需要一个独立的数据库(例如 DynamoDB)来补充使用 Redis。这会增加复杂性,影响延迟,并且无法充分发挥 Redis 的潜力。

StackOverflow 在连续三年中将 Redis 评为最受欢迎的数据库,并且已经启动了超过 20 亿个 Redis Docker 容器。了解这一点,您应该不难找到 Redis 方面的专业知识。当 Redis 开发人员遇到困难时,实际上有数千本资源书籍、教程、博客文章等等可以帮助解决问题。

有数百种 Redis 客户端库涵盖所有主要编程语言,甚至还有一些鲜为人知的语言。在许多语言中,开发人员可以选择各种库来获得最合适的风格和抽象级别。Redis 是一个用于各种数据大小的数据库,从几兆字节到数百太字节不等。

使用 Redis Enterprise,您可以在单个系统中使用 Redis 作为内存缓存和主数据库,从而消除两个独立系统的复杂性和延迟。不仅如此,您还可以将其用作多模型主数据库,使您能够构建现代应用程序以及低延迟的微服务 驱动的架构,所有这些都建立在 Redis 之上。

与其依赖于独立的数据库和缓存,不如利用 Redis Enterprise 的原生功能,例如

利用以上所有功能,包括自动扩展企业集群主动-主动地理分布

观看下面的视频,了解我们的意思

https://www.youtube.com/embed/oa1ns12KFhQ

Redis 数据库:扩展和数据结构

扩展缓存和数据库通常很复杂;每个数据层都以不同的方式扩展,在不同的时间点达到基础设施和优化机会。此外,减少活动部件的数量会降低延迟;即使架构的任何给定部分可能很快,但每个项目都会添加某种形式的延迟,无论是通过数据库本身还是项目之间的连接。转到单个数据存储会消除多个内部网络遍历。最后,使用单个数据存储开发应用程序只需要单个编程接口。因此,开发人员只需要了解单个数据库的复杂性,而不是数据库和缓存。这减少了开发过程中上下文切换的认知成本。

使用 Redis 进行扩展

Redis Enterprise 的主动-主动部署 是实现 99.999% 可靠性和全球可扩展性的关键。这意味着单个数据集可以复制到分布在广泛地理区域的多个集群中,每个集群都能够完全接受读写操作。

Redis Enterprise 使用无冲突复制数据类型 (CRDT) 在数据库级别自动解决任何冲突,并且不会丢失数据。广泛传播集群 会使数据以地理位置延迟的方式可用,并增加弹性以应对即使是灾难性的基础设施故障。

Redis 中的内置数据结构

许多应用程序具有相对简单的數據需求,可以通过 Redis 的内置数据结构轻松支持。其他应用程序可能需要更多功能。对于它们,Redis 提供了一个可扩展的引擎,允许模块仅添加所需的功能,而不会添加更多功能。这种方法扩展到持久性 - Redis 允许您完全短暂地存在,通过定期快照实现持久性,或者通过追加式日志文件 (AOF) 一直达到写入时持久性。Redis 可以根据您的用例在性能和持久性之间做出最佳权衡。

BSD 许可 且相对紧凑,Redis 通常被认为是干净、组织良好的 C 代码库的典范。如果某些东西没有意义,很容易找出并理解数据库正在执行的操作的绝对真相。Redis 做的任何事情都不是魔法 - 它只是使用久经考验的有效模式来实现基本数据结构。

数据库性能永远存在

性能预期是一个主张,随着时间的推移只会变得更加严格。您永远不会听到商业领袖说,“我希望我们的数据库更慢”。考虑构建现代应用程序需要使它们实时、易于开发、操作优雅、可扩展且面向未来。

当然,Redis 是一个很棒的数据库缓存,但是扩展 Redis 作为主数据库的作用可以让开发人员在构建未来的应用程序方面抢占先机。

下一步