Memorystore for Redis 概览

Memorystore for Redis 提供完全托管式服务,该服务由 Redis 内存数据存储提供支持,以构建提供亚毫秒级数据访问的应用缓存。

Memorystore for Redis 与自行管理的 Redis 相比具有以下几个优势:

  • 根据您的需求部署。 利用 Memorystore for Redis,您可根据自己的性能需求和运营需求,灵活地选择适合的服务层级和大小。您只需点击几次鼠标,就可以选择部署基本层级独立 Redis 实例或最高可达 300 GB 的标准层级高可用性 Redis 实例。
  • 轻松扩缩以获得超快的速度。 借助 Memorystore for Redis,您可以通过为 Redis 实例扩容轻松实现延时和吞吐量目标,同时将对应用可用性的影响降至最低。从最低层级和最小大小开始,然后随着应用需求的变化而增大 Redis 实例。 对于需要伸缩读取查询的应用,您可以使用读取端点在五个读取副本中伸缩查询。
  • 可用性高且更安全。使用专用 IP 保护 Redis 实例免受来自互联网的攻击,并使用基于 Identity and Access Management 角色的访问控制和传输加密对其进行进一步保护。标准高可用性实例最多提供五个可用区副本的副本,并提供 99.9% 的可用性服务等级协议 (SLA)。
  • 专注于应用。 Memorystore for Redis 可自动执行部署和管理 Redis 所需的复杂操作任务。预配、复制、故障切换和监控等任务都是自动执行的。 应用连接到单个端点,消除了全部节点发现逻辑并简化了管理和操作。此外,集成 Cloud Monitoring 后,您可以轻松监控 Redis 实例。
  • 兼容 Redis 协议。 Memorystore for Redis 完全符合 Redis 协议。您可以使用开源 Redis 移动应用,以便在不更改任何代码的情况下使用 Memorystore for Redis。无需学习新工具,所有现有工具和客户端库便已足够。

适合的场景

Memorystore for Redis 为需要实时快速处理数据的用例提供快速内存存储。从简单的缓存用例到实时分析,Memorystore for Redis 均可提供您需要的性能。

  • 缓存:缓存是现代应用架构不可或缺的一部分。比起从基于磁盘的后端存储访问数据,Memorystore for Redis 为访问量大的数据提供更低的访问延时和更高的吞吐量。常见的缓存示例有会话管理、经常访问的查询、脚本和页面。

  • 游戏:游戏的关键在于吸引和保持用户的注意力。 让用户迷上游戏的一个重要方面是排行榜。 每个人都希望了解他们的进展状况以及排名, 让这种体验变得迅速即时至关重要,凭借其内存存储和数据结构(如 Sorted Set),Memorystore for Redis 可以实现分数排序列表的轻松维护,同时提供元素的唯一性。玩家个人资料是另一条可能经常访问的信息。利用 Redis 哈希可以快速轻松地存储和访问个人资料数据。

  • 流式处理:无论是处理 Twitter 动态消息,还是处理来自物联网设备的数据流,Memorystore for Redis 都非常适合流式解决方案。Memorystore for Redis 与 Dataflow 结合后,可提供一个可扩缩的快速内存存储来存储中间数据,确保数千个客户端能够以低延迟访问这些数据。

特性

下表描述了 Memorystore for Redis 的特点:

  • 完全托管:部署和维护 Redis 实例可能非常耗时。Memorystore for Redis 提供修补、24x7 全天候威胁监控、故障检测和自动故障切换服务,让您将更多时间用于构建应用。
  • 简单部署:通过从 Google Cloud 控制台 选择基本层级或标准层级,或使用 Google Cloud CLI 或 Cloud 客户端库自动执行部署,轻松部署单个实例或高可用性 Redis 实例。
  • 高可用性:标准层级中的 Memorystore for Redis 实例可跨地区复制,其健康状况受到监控并且能够进行快速自动故障切换。标准层级实例还提供 99.9% 的服务等级协议 (SLA)。如需了解详情,请参阅高可用性
  • 企业级安全性:Redis 实例受专用 IP 地址保护以免受互联网攻击,并且对实例的访问受到控制且仅限该 Redis 实例所在授权虚拟私有云上运行的应用访问。

    实例由 IAM 角色进一步保护,从而可以精确控制谁可以管理和访问 Redis 实例。此外,Memorystore for Redis 还集成了 Cloud Audit Logging,让您知晓谁在何时做了什么事。

  • 根据需要进行伸缩:借助 Memorystore for Redis 最高可伸缩 300 GB 的实例,并且支持高达 16 Gbps 的网络吞吐量。凭借无缝扩缩实例大小的功能,您可以从小实例开始,然后根据需要增加实例的大小。读取副本允许在五个副本之间伸缩读取查询。当伸缩标准层级实例时,您的应用需要不到一分钟的时间。
  • 监控:可通过 Monitoring 获得 Redis 指标,从而轻松监控 Redis 实例。您还可以使用 Cloud Logging 查看实例的 Redis 日志。
  • 按需结算:Memorystore for Redis 实例根据预配的容量 (GB) 按小时结算。如果实例只使用了几分钟,则您只需支付这几分钟的费用。
  • Redis 6.x、5.0、4.0 和 3.2 版:这些版本始终利用最新的关键补丁程序保持最新状态,确保 Redis 实例的安全。如需详细了解版本和补丁程序等级,请参阅 Memorystore for Redis 版本说明受支持的版本

连接到 Memorystore for Redis 实例

您可以在以下环境中使用任何标准 Redis 客户端连接到 Memorystore for Redis 实例

  • App Engine 柔性环境
  • App Engine 标准环境
  • Compute Engine 虚拟机实例
  • Cloud Functions
  • Cloud Run
  • Google Kubernetes Engine 集群

一些无服务器环境要求将无服务器 VPC 访问通道连接器作为与 Memorystore for Redis 连接的先决条件。如需了解详情,请参阅无服务器 VPC 访问通道连接器要求

为了连接到实例,必须将客户端连接到 Memorystore for Redis 实例所在的网络。如需了解详情,请参阅 Memorystore for Redis 网络页面。

托管 Redis 和开源 Redis 之间的差异

Memorystore for Redis 符合 Redis 协议。您可以将使用开源 Redis 的应用迁移到 Google Cloud,无需更改任何代码。

一般来说,Memorystore for Redis 实例提供的 Redis 功能与本地托管的 Redis 实例提供的功能相同。部分主要差异如下所示:

  • Memorystore for Redis 目前不支持 Redis Clustering。

  • 开源 Redis 提供了多种将数据保留到磁盘的选项。 RDB 持久化可以生成数据集的时间点快照,而 AOF 持久化可以记录服务器接收的每个写入操作。Memorystore for Redis 现在支持 RDB 快照导出数据。Memorystore for Redis 不支持 AOF 持久化。

  • Memorystore for Redis 实例的大多数参数已预先配置,无法更改。其他参数在设置 Memorystore for Redis 实例时配置。如需了解详情,请参阅 Redis 配置

  • 某些命令可能会干扰托管 Redis 服务,因此会被屏蔽。 如需了解详情,请参阅被屏蔽的 Redis 命令列表。

层级功能

下表介绍了可用的 Memorystore for Redis 服务层级之间的区别:

规格 基本层级 标准层级(停用读取副本) 标准层级(启用读取副本)
说明 提供缓存,但不进行复制 通过复制提供冗余和可用性 通过复制来备份数据提供冗余和可用性,以及利用多个读取副本提高读取吞吐量
Redis 节点大小上限 300 GB 300 GB 300 GB
最大网络带宽 16 Gbps 16 Gbps 16 Gbps
I/O 线程 1 1 1
扩缩节点大小
调节读取副本节点的数量
跨地区复制
自动故障切换
读取副本
传输加密
维护时段
Cloud Monitoring

1 I/O 线程仅适用于运行 6.x 版本的 Redis M3 或更高版本。如需了解详情,请参阅 Redis 6.x 版

容量层级性能

容量层级 最小网络吞吐量 版本 4 和 5 中的 I/O 线程 版本 6 中的最小 I/O 线程
M1:1-4 GB 10 Gbps 不适用 1
M2:5-10 GB 10 Gbps 不适用 1
M3:11 - 35 GB 10 Gbps 不适用 2 个
M4:36-100 GB 16 Gbps 不适用 6
M5:101 - 300 GB 16 Gbps 不适用 8

后续步骤