Valkey 是一种内存中的键值对数据存储区,可用于满足各种应用构建需求,包括缓存、消息队列和会话存储。您还可以将其用作主要内存中数据库,将数据存储在 RAM 中,以实现快速读写。
作为 NoSQL 数据库,Valkey 的架构比关系型数据库更灵活,后者以严格的列和行来存储数据。
Valkey 使用简单的键值对方法来存储数据,其中一个值映射到一个唯一标识符(即键)。这样,在直接按键检索数据时,查找速度会非常快。它还可灵活地适应各种数据类型,包括字符串、集合、列表、哈希和流。
想要直接跳到设置 Valkey 集群?了解如何开始使用 Memorystore。
Valkey 是一个开源键值对数据存储区。它以极低的延迟时间而闻名,非常适合缓存、消息队列和需要实时数据的应用。以下是 Valkey 的主要功能简介:
Valkey 可以存储各种数据类型,包括字符串、哈希、列表、集合和有序集合。它还支持更高级的数据类型,如流、地理空间索引、位图和向量,因此可作为一种多功能工具,用于各种应用,包括 AI 智能体。
使用 Valkey 等内存中数据库的主要原因是速度快。从 RAM 访问数据比从磁盘读取数据更快,这使得 Valkey 能够实现极低的延迟,通常在亚毫秒范围内。这种速度对于实时缓存和快速移动分析等应用场景至关重要,因为这些场景需要立即访问数据。
主要区别在于它们构建、存储和检索数据的方式。Valkey 等键值对数据库将数据存储为唯一键的集合,每个键都与一个值配对。这种简单模型在按键查找数据时可以快速检索。而关系型数据库则将数据存储在表中,并使用 JOIN 来关联相关数据。对于需要从多个集合中拉取数据的查询,此模型可提供最佳性能。
Valkey 兼具速度和灵活性、可伸缩性以及处理严苛工作负载所需的弹性。
高速内存中数据库
Valkey 主要将数据存储在 RAM 中而不是磁盘中,因此可提供极高的吞吐量和极低的延迟时间,非常适合对速度要求极高的应用。
开源
作为一个开源项目,Valkey 受益于社区贡献,并且可以灵活地集成和自定义,而没有许可限制。
高可用性
Valkey 支持主从复制,可实现自动故障切换和数据冗余,从而最大限度地减少停机时间并提供持续服务。
数据持久化
Valkey 虽然主要是一个内存中数据库,但它提供了持久化选项以防止数据丢失。它可以通过 RDB(Redis 数据库)快照和 AOF(仅附加文件)日志将数据保存到磁盘,以确保即使在重启后数据也能持久保存。
无缝横向扩缩
Valkey 旨在高效地将数据分布到多个节点和集群中。这意味着您可以轻松扩容,以应对不断增加的流量,而不会影响性能。
实时通信
Valkey 提供 Pub/Sub 消息传递系统,可在各种应用或单个应用的不同部分之间实现实时通信。这可以支持实时聊天和实时数据 Feed 等功能。
Valkey 等内存中数据存储区特别适合依赖极低延迟的应用和函数。其中可能包括:
Valkey 最初是从 Redis 7.2 分支出来的,这意味着它从相同的代码库开始,并共享一些基本特征和功能。与 Valkey 一样,Redis 也是一种内存中键值对数据存储区,可提供高吞吐量并支持一系列数据结构。两者都以高可用性和可伸缩性而闻名。
核心区别在于 Valkey 是开源的,在宽松的 BSD 许可下发布,因此开发者可以自由使用、修改软件并做出贡献。
2024 年,Redis Inc. 改用限制更严格的“源代码可用”许可,Valkey 应运而生。为了向社区提供开源替代产品,几位核心 Redis 贡献者齐心协力,基于 Redis 的最后一个开源版本发布了 Valkey。
Valkey 采用协作式、社区主导的开发方法,由 Linux 基金会项目的贡献成员决定路线图和新功能,主要云供应商(包括 Google Cloud)也参与其中。
自 Valkey 8.0 以来,Valkey 引擎进行了重大改进,重点是增强了向量搜索功能、改进了集群管理和多线程命令执行功能,即能够跨多个 CPU 核心并行处理命令。
对于那些想要更精细的控制、自定义或特定部署配置的用户,可以将 Valkey 手动部署到 Google Cloud 的计算基础设施上。此方法可让您全面监控环境。
Memorystore for Valkey 是一项全托管式服务,可在云中提供高性能、高可用且可扩缩的 Valkey 服务。
它提供了内存中数据库的优势,同时避免了管理底层基础设施所带来的运营和财务负担。
Google Cloud 负责处理管理工作负载,包括修补、安全和扩缩,因此您可以专注于使用实时数据构建应用。