系统极客一直在努力
专注操作系统及软件使用技能

如何在 Ubuntu 24.04 LTS 上安装 Valkey 开源键值存储系统

Valkey

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
通过 Ubuntu 官方软件源安装 Valkey Server
通过 Ubuntu 官方软件源安装 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
克隆 Valkey 代码仓库
克隆 valkey 代码仓库

4构建支持 systemd 的版本:

sudo make USE_SYSTEMD=yes
构建支持 systemd 的 valkey 版本
构建支持 systemd 的 valkey 版本

5将 Valkey 的二进制文件安装到/usr/local/bin

sudo make install
安装 valkey 二进制文件
安装 valkey 二进制文件

为了与 Redis 兼容,安装时会自动创建从 Redis 名称(如redis-serverredis-cli等)到 Valkey 二进制文件的符号链接。这些符号链接会创建在与 Valkey 二进制文件相同的目录中。你也可以在编译时设置makefile变量USE_REDIS_SYMLINKS=no来跳过符号链接的创建。

6创建配置文件:Valkey 官方 GitHub 仓库中已经为我们创建好了可以直接使用的valkey.conf配置文件,直接拷贝出来就能使用:

准备 valkey.conf 配置文件和服务配置文件
准备 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 服务

安装完成后,我们可能需要对 Valkey 服务进行管理操作:

  • 检查服务状态

首先,确认 Valkey 服务是否正在运行。在「终端」中执行以下命令:

sudo systemctl status valkey
查看 valkey 服务状态
查看 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.conf 配置文件
自定义 valkey.conf 配置文件

Valkey 的默认逐出机制是noeviction,即当内存达到上限时,不会删除任何键,而是返回错误(写入缓存会报错,但读取缓存不受影响)。如果用作缓存场景,可以改成allkeys-lru来逐出最近最少使用的键(LRU),对所有键都生效。


Valkey 参考资料

为了帮助你全面地学习和使用 Valkey,我们整理了一些有价值的参考资料:

赞(1) 赞赏

评论 抢沙发

微信赞赏