redis 查看版本(保姆级教程)
💡一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ;演示链接: http://116.62.199.48:7070 ;- 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 90w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 3100+ 小伙伴加入学习 ,欢迎点击围观
在构建和维护分布式系统时,Redis 作为高性能的内存数据库,常被开发者用作缓存、消息队列或数据中间件。然而,随着 Redis 版本的持续迭代,不同版本间可能存在功能差异、性能优化或安全漏洞修复。因此,查看 Redis 版本不仅是排查问题的基础步骤,也是确保系统兼容性的重要环节。本文将从命令行工具、客户端软件、编程语言集成等多角度,系统讲解如何快速获取 Redis 的版本信息,并通过实际案例帮助读者掌握这一技能。
一、Redis 版本的基本概念与意义
1.1 Redis 版本的构成规则
Redis 的版本号遵循 主版本号.次版本号.修订号 的格式,例如 Redis 7.0.10
。其中:
- 主版本号:代表重大架构或功能的更新(如 Redis 6 引入模块化支持)。
- 次版本号:表示功能增强或性能改进(如 Redis 7.0.5 优化了内存管理)。
- 修订号:通常修复已知漏洞或次要问题(如 Redis 7.0.10 修复了特定场景下的崩溃问题)。
1.2 版本信息的用途场景
- 兼容性验证:确保第三方工具或代码适配当前版本(例如 Redis 6 的模块化功能需特定版本支持)。
- 性能优化:根据版本特性选择配置参数(如 Redis 7 的
maxmemory-policy
新增了allkeys-lfu
策略)。 - 安全审计:及时升级存在已知漏洞的旧版本(例如 Redis 5.x 版本曾曝出未授权访问漏洞)。
二、通过命令行工具查看 Redis 版本
2.1 直接运行 redis-cli
的 --version
参数
这是最基础且直接的方法,适合快速确认本地 Redis 客户端版本。
redis-cli --version
输出示例:
redis-cli 7.0.10
技术解析:该命令调用的是 Redis 命令行工具本身的版本信息,而非服务端版本。若需获取 Redis 服务器的版本,需通过以下方法。
2.2 连接 Redis 服务器后执行 INFO
命令
通过 INFO
命令可获取服务器的详细信息,包括版本号、内存使用情况等。
步骤:
- 启动 Redis 服务(若未运行):
redis-server
- 连接本地 Redis 服务器:
redis-cli
- 执行
INFO
命令并过滤版本信息:127.0.0.1:6379> INFO
在输出结果中查找
redis_version
字段:# Server redis_version:7.0.10
进阶技巧:使用 INFO version
可直接获取版本相关字段:
127.0.0.1:6379> INFO version
2.3 使用 CLIENT LIST
命令的隐藏技巧
在某些场景下,通过 CLIENT LIST
命令也能间接获取版本信息,但需结合其他信息推断。
127.0.0.1:6379> CLIENT LIST
输出示例:
id=3 addr=127.0.0.1:55803 fd=6 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 omem=0 events=rw cmd=client
注意事项:此方法仅能获取客户端连接信息,无法直接显示服务器版本,因此不推荐作为主要手段。
三、通过图形化客户端工具查看版本
3.1 Redis Desktop Manager (RDM) 的可视化操作
Redis Desktop Manager 是一款流行的跨平台 GUI 工具,其界面清晰,适合不熟悉命令行的开发者。
操作步骤:
- 安装并启动 RDM。
- 新建连接(默认为
localhost:6379
)。 - 连接成功后,点击左侧导航栏的 Server 标签页。
- 在 Server Information 部分直接查看
Redis Version
字段。
优势:无需记忆命令,适合快速查看服务器基础信息。
3.2 使用 DBeaver 插件扩展功能
DBeaver 是一款通用数据库工具,通过安装 Redis 插件也能实现版本查询。
步骤:
- 在 DBeaver 中安装 Redis 插件。
- 新建 Redis 连接并配置参数。
- 连接成功后,导航至 Server Information 或执行
INFO
命令。
四、编程语言集成:通过代码获取 Redis 版本
4.1 Python 示例(使用 redis-py 库)
import redis
client = redis.Redis(host='localhost', port=6379, db=0)
server_info = client.info()
print(f"Redis Version: {server_info['redis_version']}")
输出示例:
Redis Version: 7.0.10
关键点:通过 info()
方法获取字典类型的数据,直接索引 redis_version
字段即可。
4.2 Java 示例(使用 Jedis 库)
import redis.clients.jedis.Jedis;
public class RedisVersionCheck {
public static void main(String[] args) {
try (Jedis jedis = new Jedis("localhost", 6379)) {
System.out.println("Redis Version: " + jedis.info("server").get("redis_version"));
}
}
}
依赖配置(Maven):
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.3.1</version>
</dependency>
五、常见问题与解决方案
5.1 问题:命令行执行 INFO
时提示权限不足
原因:Redis 服务器配置了 requirepass
密码验证。
解决方案:在执行命令前使用 AUTH
命令认证:
127.0.0.1:6379> AUTH your_password
OK
127.0.0.1:6379> INFO
5.2 问题:远程服务器无法查看版本
原因:防火墙或网络策略限制了 Redis 端口(默认 6379)的访问。 解决方案:
- 检查服务器防火墙设置,开放 6379 端口。
- 使用
telnet
或nc
命令测试端口连通性:telnet <服务器IP> 6379
5.3 问题:不同客户端显示的版本号不一致
原因:客户端工具自身的版本可能与 Redis 服务器版本混淆。 解决方法:
- 明确区分客户端与服务器版本:
- 客户端版本:
redis-cli --version
- 服务器版本:
redis-cli INFO | grep redis_version
- 客户端版本:
六、进阶技巧:自动化版本检查脚本
6.1 Shell 脚本示例
#!/bin/bash
version=$(redis-cli info server | grep redis_version | awk '{print $2}')
echo "Current Redis Server Version: $version"
功能:通过管道符和 grep
过滤输出,结合 awk
提取版本号。
6.2 结合 CI/CD 的版本校验
在持续集成流程中,可添加以下步骤确保部署环境的版本符合要求:
jobs:
check_redis_version:
runs-on: ubuntu-latest
steps:
- name: Check Redis Version
run: |
version=$(redis-cli info server | grep redis_version | awk '{print $2}')
if [ "$version" != "7.0.10" ]; then
echo "Error: Redis version mismatch!"
exit 1
fi
结论:版本管理是系统维护的基石
通过本文的讲解,读者已掌握通过命令行工具、客户端软件及编程接口等多种方式查看 Redis 版本的方法。在实际开发中,建议将版本检查纳入日常运维流程,例如:
- 定期通过脚本监控版本更新。
- 在部署文档中明确版本兼容性要求。
- 结合
redis-cli
的--version
参数验证工具链一致性。
随着 Redis 的持续演进,保持对版本信息的敏感度不仅能提升问题排查效率,更能为系统的稳定性提供保障。希望本文提供的方法和案例,能帮助开发者更高效地应对 Redis 版本相关的挑战。