Valkey 是一款新兴的开源键值存储系统,旨在成为 Redis 的替代方案。它凭借出色的多线程性能、原生集群支持,以及强大的可观测性,能够满足从小型应用到大规模分布式系统的各种需求。
Valkey 采用了 BSD 3-Clause 许可证,不仅可以用作缓存层和内存数据库,还能处理消息队列和实时排行榜等场景。你可以将它部署成单机服务器或集群模式,并通过数据复制机制来确保高可用性。
Valkey 支持丰富的数据类型,包括字符串和数值、哈希表、列表和集合、有序集合、位图(Bitmap)和 HyperLogLog。通过内置的命令集,你可以直接对这些数据结构进行操作。如果需要扩展功能,Valkey 还提供了 Lua 脚本引擎和模块系统,让你能够自定义新的命令和数据类型。
接下来,本文将详细介绍如何在 Ubuntu 系统上部署和配置 Valkey 服务器。
在 Ubuntu 上安装 Valkey
方法 1:通过 Ubuntu 官方软件源安装
Canonical 自身就是 Valkey 开发的重要贡献者,Valkey 也已经被收录到了 Ubuntu 24.10 和 Ubuntu 24.04 LTS 的官方 Universe 仓库中。你可以通过以下命令直接安装:
sudo apt install valkey-server
安装好之后,守护程序会自动运行,你可以使用应用程序连接并与 Valkey 进行交互。
方法 2:手动编译安装
如果你需要手动编译安装指定版本,可以按以下步骤操作。
1安装编译工具和相关依赖:
sudo apt install build-essential git pkg-config libsystemd-dev libjemalloc2 liblzf1
2克隆 Valkey 代码仓库:
git clone https://github.com/valkey-io/valkey.git
cd valkey
3(可选)切换到指定版本的 Tag,例如 7.2.7 版本:
git checkout tags/7.2.7
4构建支持 systemd 的版本:
sudo make USE_SYSTEMD=yes
5将 Valkey 的二进制文件安装到/usr/local/bin
:
sudo make install
为了与 Redis 兼容,安装时会自动创建从 Redis 名称(如redis-server
,redis-cli
等)到 Valkey 二进制文件的符号链接。这些符号链接会创建在与 Valkey 二进制文件相同的目录中。你也可以在编译时设置makefile
变量USE_REDIS_SYMLINKS=no
来跳过符号链接的创建。
6创建配置文件:Valkey 官方 GitHub 仓库中已经为我们创建好了可以直接使用的valkey.conf
配置文件,直接拷贝出来就能使用:
sudo mkdir /etc/valkey/
sudo cp valkey.conf /etc/valkey/
7创建 Valkey 服务配置文件:创建一个/lib/systemd/system/valkey-server.service
服务配置文件,填入以下内容并保存:
[Unit]
Description=Redis data structure server
Documentation=https://redis.io/documentation
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/local/bin/valkey-server /etc/valkey/valkey.conf --supervised systemd --daemonize no
PIDFile=/run/valkey/valkey-server.pid
Restart=always
LimitNOFILE=65535
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
Type=notify
TimeoutStartSec=infinity
TimeoutStopSec=infinity
RuntimeDirectory=valkey
RuntimeDirectoryMode=2755
UMask=0077
[Install]
WantedBy=multi-user.target
Alias=valkey.service
8将服务配置为开机自动启动:
sudo systemctl enable valkey-server.service
管理 Valkey 服务
安装完成后,我们可能需要对 Valkey 服务进行管理操作:
- 检查服务状态
首先,确认 Valkey 服务是否正在运行。在「终端」中执行以下命令:
sudo systemctl status valkey
- 启动、停止和重启服务
你也可以根据实际需要,手动启动、停止或重启 Valkey 服务:
sudo systemctl start valkey # 启动服务
sudo systemctl stop valkey # 停止服务
sudo systemctl restart valkey # 重启服务
- 设置开机自启动
为了提升使用便捷性,建议设置 Valkey 服务在系统启动时自动启动:
sudo systemctl enable valkey # 设置开机自启
sudo systemctl disable valkey # 取消开机自启
管理 Valkey 常用配置
对于普通用户特别是广大站长来说,有几项 Valkey 主要配置需要注意,包括服务端口、内存设置和逐出机制。这些配置都可以在/etc/valkey/valkey.conf
配置文件中进行设置:
port 6379
maxmemory 512mb
maxmemory-policy allkeys-lru
Valkey 的默认逐出机制是noeviction
,即当内存达到上限时,不会删除任何键,而是返回错误(写入缓存会报错,但读取缓存不受影响)。如果用作缓存场景,可以改成allkeys-lru
来逐出最近最少使用的键(LRU),对所有键都生效。
Valkey 参考资料
为了帮助你全面地学习和使用 Valkey,我们整理了一些有价值的参考资料:
- Valkey GitHub 仓库:查看源代码、报告问题,为 Valkey 的发展贡献力量。
- Valkey 官方文档:Valkey 深入文档,涵盖各种操作和使用主题
最新评论
可以共存,但虚拟机维护起来更麻烦了呀。
关掉之后重启下系统再试试呢
不能共存吗?
我是家庭版,看着关掉了,但是破解程序一运行还是弹窗,搞不了