从Redis到Valkey:开源数据库的涅槃重生之路

从Redis到Valkey:开源数据库的涅槃重生之路

【免费下载链接】valkey A new project to resume development on the formerly open-source Redis project. We're calling it Valkey, like a Valkyrie. 【免费下载链接】valkey 项目地址: https://gitcode.com/GitHub_Trending/va/valkey

你是否曾为Redis的开源未来感到担忧?是否在寻找一个真正社区驱动、完全开源的高性能键值存储解决方案?本文将带你深入了解Valkey的诞生背景、核心价值与技术传承,让你一文掌握这个开源新星的来龙去脉。读完本文,你将清晰了解Valkey如何延续Redis的开源精神,以及它为开发者和企业带来的全新可能。

Valkey的诞生:一场开源保卫战

2023年,Redis项目宣布更改开源协议,从BSD许可证转向更具限制性的源代码可用许可证,这一决定在开源社区引发广泛讨论。为了延续原Redis的开源精神,Valkey应运而生。正如README.md中所述:"This project was forked from the open source Redis project right before the transition to their new source available licenses."(本项目在Redis过渡到新的源代码可用许可证之前从其开源版本分叉而来)。

Valkey的命名灵感来源于北欧神话中的女武神(Valkyrie),象征着它将像女武神一样,挑选并守护真正的开源精神。项目由社区驱动,托管于LF Projects(Linux基金会项目)旗下,确保其开发过程完全透明且符合开源治理规范。

从Redis到Valkey:技术基因的传承与革新

Valkey并非从零开始,而是站在Redis的肩膀上继续前行。它保留了Redis的核心技术架构和数据模型,同时致力于打造更开放、更社区化的发展路线。

核心技术架构的延续

Valkey继承了Redis的单线程事件循环模型,这一设计使其在内存数据处理上保持极高效率。正如Redis Manifesto中所述:"Instead of making Redis threaded we believe on the idea of an efficient (mostly) single threaded Redis core."(我们相信高效的(主要是)单线程核心架构,而非多线程设计)。这一理念在Valkey中得到了延续,确保了性能的稳定性和可预测性。

Valkey完整保留了Redis的数据结构体系,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等核心数据类型,以及它们的原子操作特性。开发者可以无缝迁移基于Redis构建的应用到Valkey,无需修改数据操作逻辑。

构建与部署的无缝过渡

对于开发者而言,Valkey的构建和部署流程与Redis几乎完全一致。你可以通过简单的make命令编译源码:

% make
% make test  # 编译后进行测试

如需启用TLS支持,只需添加编译参数:

% make BUILD_TLS=yes

部署完成后,启动Valkey服务的命令也与Redis兼容:

% cd src
% ./valkey-server /path/to/valkey.conf

这种兼容性设计极大降低了从Redis迁移到Valkey的门槛,让开发者可以快速上手。

Valkey的核心价值:社区驱动的开源承诺

Valkey不仅仅是一个代码分叉项目,它代表了一种开源信念的回归。项目的核心价值体现在以下几个方面:

坚定的开源许可

Valkey坚持使用BSD许可证,这是一种宽松的开源协议,允许商业使用、修改和分发,且无需公开修改后的源代码。这与Redis后来采用的源代码可用许可证形成鲜明对比,确保了Valkey的每一行代码都真正属于社区。

透明的治理结构

作为LF Projects旗下的项目,Valkey遵循开放透明的治理模式。项目决策由社区共同参与,任何开发者都可以通过提交PR、参与讨论等方式影响项目发展方向。GOVERNANCE.md文件详细阐述了项目的治理结构和决策流程,确保项目发展不受单一公司或个人控制。

持续的兼容性保障

Valkey团队承诺将长期保持与Redis协议的兼容性,这意味着现有的Redis客户端(如hiredis、Jedis等)可以直接与Valkey服务端通信。同时,Valkey会定期从Redis的开源历史版本中合并安全修复和重要功能,确保项目的安全性和功能性与时俱进。

快速上手Valkey:从安装到第一个键值对

让我们通过一个简单的示例,体验Valkey的使用流程。

编译与安装

首先,克隆Valkey仓库并编译:

git clone https://gitcode.com/GitHub_Trending/va/valkey
cd valkey
make
make install  # 将二进制文件安装到系统路径

启动服务

使用默认配置启动Valkey服务器:

valkey-server

连接并操作

打开另一个终端,使用Valkey客户端连接服务器:

valkey-cli
valkey> ping
PONG
valkey> set welcome "Hello Valkey!"
OK
valkey> get welcome
"Hello Valkey!"

恭喜!你已经成功运行了Valkey并执行了基本操作。这与Redis的使用体验完全一致,体现了Valkey对兼容性的重视。

未来展望:Valkey的社区生态建设

Valkey项目虽然年轻,但已经展现出强大的生命力。社区正在积极开展以下工作:

完善文档体系

目前Valkey的文档正在建设中,README.md中提到:"We are currently working on a more permanent documentation page." 社区计划建立全面的文档网站,包括快速入门、API参考、部署指南等内容,帮助开发者更好地使用和贡献Valkey。

扩展生态系统

Valkey团队正在积极与云服务提供商、开源社区合作,推动Valkey在各种平台上的支持。未来,你将看到更多数据库管理工具、监控系统、云服务集成对Valkey的原生支持。

创新功能开发

在保持兼容性的基础上,Valkey社区也在规划创新功能。例如,实验性的RDMA(远程直接内存访问)支持已经在开发中,这将进一步提升Valkey的性能表现。你可以通过以下命令启用RDMA模块:

./src/valkey-server --protected-mode no \
     --loadmodule src/valkey-rdma.so bind=192.168.122.100 port=6379

结语:选择Valkey,选择开源的未来

Valkey的诞生不仅是对一个优秀开源项目的延续,更是社区对开源精神的坚定捍卫。它继承了Redis的技术精华,同时承诺更开放、更透明的发展模式。对于开发者和企业而言,选择Valkey意味着选择了一个真正属于社区、长期稳定、技术领先的键值存储解决方案。

如果你是Redis的用户,不妨尝试迁移到Valkey,体验社区驱动的开源力量;如果你是新的开发者,Valkey将是你构建高性能应用的理想选择。让我们共同参与Valkey的发展,为开源数据库生态系统贡献力量!

【免费下载链接】valkey A new project to resume development on the formerly open-source Redis project. We're calling it Valkey, like a Valkyrie. 【免费下载链接】valkey 项目地址: https://gitcode.com/GitHub_Trending/va/valkey

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值