Redis(Remote Dictionary Server)是一个开源的键值存储系统,它支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。Redis 6.2.6 是该系列的一个稳定版本,发布于2021年,在性能优化、安全增强和功能完善方面都有显著提升。
Redis 之所以广受欢迎,主要得益于其出色的性能表现。它完全在内存中运行,读写速度极快,同时支持持久化到磁盘,确保数据安全。此外,Redis 还提供了丰富的功能,如事务支持、发布/订阅模式、Lua 脚本等,使其成为缓存、会话存储、消息队列等场景的理想选择。
获取 Redis 最安全可靠的方式是通过其官方网站或 GitHub 仓库。以下是具体步骤:
注意:务必从官方渠道下载,避免使用第三方来源的安装包,以防安全风险。
对于 Linux 和 macOS 用户,可以直接使用 wget 或 curl 命令下载:
bash复制wget https://download.redis.io/releases/redis-6.2.6.tar.gz
或者
bash复制curl -O https://download.redis.io/releases/redis-6.2.6.tar.gz
下载完成后,可以通过以下命令验证文件的完整性:
bash复制sha256sum redis-6.2.6.tar.gz
将输出与官方提供的 SHA256 校验值进行比对,确保文件未被篡改。
Redis 6.2.6 对系统有以下基本要求:
在编译 Redis 前,需要确保系统已安装必要的依赖:
对于基于 Debian/Ubuntu 的系统:
bash复制sudo apt update
sudo apt install build-essential tcl
对于基于 RHEL/CentOS 的系统:
bash复制sudo yum groupinstall "Development Tools"
sudo yum install tcl
这些依赖包括编译工具链和 Redis 测试所需的 Tcl 环境。
首先解压下载的源码包:
bash复制tar xzf redis-6.2.6.tar.gz
cd redis-6.2.6
Redis 使用标准的 make 工具进行编译:
bash复制make
编译过程通常需要几分钟时间,取决于你的系统性能。编译完成后,建议运行测试套件验证编译结果:
bash复制make test
测试过程可能需要 10-30 分钟,它会检查 Redis 的所有核心功能是否正常工作。
编译测试通过后,可以安装到系统目录:
bash复制sudo make install
这会将 Redis 的可执行文件安装到 /usr/local/bin 目录下。如果你想指定其他安装目录,可以使用 PREFIX 参数:
bash复制make PREFIX=/opt/redis install
Redis 的主要配置文件是 redis.conf,位于解压后的目录中。建议将其复制到合适的位置:
bash复制mkdir /etc/redis
cp redis.conf /etc/redis/redis.conf
重要的配置参数包括:
daemonize yes:以守护进程方式运行bind 127.0.0.1:只监听本地连接(生产环境应根据需要调整)port 6379:服务端口dir /var/lib/redis:持久化文件存储目录requirepass yourpassword:设置访问密码为了方便管理,可以创建 systemd 服务单元文件:
bash复制sudo nano /etc/systemd/system/redis.service
添加以下内容:
code复制[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
然后创建 Redis 用户并设置权限:
bash复制sudo adduser --system --group --no-create-home redis
sudo mkdir /var/lib/redis
sudo chown redis:redis /var/lib/redis
sudo chmod 770 /var/lib/redis
启用并启动服务:
bash复制sudo systemctl enable redis
sudo systemctl start redis
使用以下命令检查 Redis 服务是否正常运行:
bash复制sudo systemctl status redis
如果服务正常运行,你应该看到 "active (running)" 状态。
使用 Redis 命令行客户端连接服务器:
bash复制redis-cli
在交互界面中,可以运行一些基本命令测试:
code复制127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set test "Hello Redis"
OK
127.0.0.1:6379> get test
"Hello Redis"
Redis 自带了一个基准测试工具:
bash复制redis-benchmark -q -n 100000
这会执行 100,000 次请求测试,显示各种操作的性能指标。
如果 Redis 需要从外部访问,应配置防火墙规则:
bash复制sudo ufw allow from trusted_ip to any port 6379
或者使用更严格的规则:
bash复制sudo ufw allow from 192.168.1.0/24 to any port 6379
Redis 6.0 开始支持 TLS 加密通信。要启用 TLS,需要在配置文件中添加:
code复制tls-port 6380
tls-cert-file /path/to/redis.crt
tls-key-file /path/to/redis.key
tls-ca-cert-file /path/to/ca.crt
如果编译过程中出现错误,通常是缺少依赖或编译器版本过低。解决方法:
bash复制make distclean
make
Redis 启动失败可能的原因:
查看日志获取详细信息:
bash复制sudo journalctl -u redis -f
如果 Redis 性能不佳,可以考虑:
Redis 提供了丰富的监控命令:
也可以使用第三方监控工具如 RedisInsight、Grafana 等。
升级 Redis 时建议:
对于生产环境,建议配置:
根据业务需求选择合适的持久化方式:
优化 Redis 内存使用的技巧:
Redis 6.2 支持通过模块扩展功能:
bash复制loadmodule /path/to/module.so
常用模块包括:
Redis 6.0 引入了客户端缓存功能,可以显著减少网络往返:
code复制CLIENT TRACKING on
Redis 6.0 新增了更精细的访问控制:
code复制ACL SETUSER alice on >password ~cached:* +get +set
如果需要卸载 Redis:
bash复制sudo systemctl stop redis
bash复制sudo rm /etc/systemd/system/redis.service
bash复制sudo rm /usr/local/bin/redis-*
bash复制sudo rm -rf /etc/redis /var/lib/redis
bash复制sudo deluser redis