如何查看redis版本:多种实操方法
如何查看redis版本,你可以通过redis客户端命令、服务器终端执行程序、info指令、redis‑cli工具这四类方式获取版本号,客户端命令与info指令适合已经连接上Redis服务的场景,服务器终端执行程序适合未登录客户端,直接在操作系统shell环境查询,redis‑cli工具查询可用于远程连接Redis实例获取版本,部分容器化部署的Redis,无法直接访问服务器二进制文件,只能依靠客户端指令查询版本,Windows、Linux服务器均可使用客户端相关查询方式,源码编译安装与yum、apt包管理器安装的Redis,二进制文件存放路径存在差异,会影响终端直接调用程序查询的执行结果。
如何查看redis版本之终端二进制查询
在Linux服务器终端,你可以直接调用redis‑server可执行文件,带上‑‑version参数输出版本信息,完整命令为redis‑server--version,执行完成终端会打印包含major、minor、patch分段的完整版本字符串。yum或者apt安装的Redis,系统环境变量会注册二进制程序路径,任意目录都可以直接执行该命令,源码手动编译部署的Redis,需要切换到编译目录下的src文件夹,或者填写redis‑server的绝对文件路径,否则系统会提示commandnotfound命令找不到。
这条命令不需要连接Redis服务进程,Redis服务停止状态依旧可以执行。
Windows系统环境,打开cmd命令行窗口,切换至Redis解压目录,运行redis‑server.exe--version,就可以读取本地程序编译的版本,该结果代表安装包本身的版本,和正在运行的实例版本基本保持一致,少数手动替换二进制文件未重启服务的环境,会出现程序文件版本与运行中实例版本不一致的现象,这种场景该方式得到的结果不能代表实际运行服务版本。
如何查看redis版本之客户端指令查询
进入redis‑cli交互终端之后,输入infoserver,返回的大段文本里redis_version字段后面的值就是正在运行Redis实例的真实版本,这条指令会直接读取当前活跃服务运行时参数,不受本地二进制文件改动影响,容器部署、远程Redis节点,优先选用这个方案。info指令返回内容较多,你可以搭配grep过滤器,使用infoserver|grepredis_version,过滤只输出版本那一行,减少无关信息输出,Windowscmd环境不支持grep过滤,只能完整读取info返回内容,手动定位redis_version字段。
| 查询方法 | 是否需要Redis运行 | 支持远程实例 | 适用部署形态 |
|---|---|---|---|
| redis‑server--version | 否 | 否 | 物理机,虚拟机 |
| infoserver | 是 | 是 | 物理机,容器,云Redis |
| redis‑cli--version | 否 | 否 | 物理机,虚拟机 |
redis‑cli--version输出的是客户端工具自身版本,不是Redis服务端版本,很多运维新手混淆两者,把客户端版本当作服务版本,后续做版本兼容配置时会出现参数不识别,命令执行报错的情况。
云厂商托管版Redis,你没有服务器操作系统shell权限,无法调用redis‑server二进制程序,只能登录redis‑cli远程客户端执行infoserver读取版本,阿里云、腾讯云的托管Redis控制台页面同样会展示实例版本,和info指令查询结果保持一致。
- redis‑cli:Redis官方交互式命令行客户端,用来和Redis服务交互
- redis‑server:Redis服务端可执行程序,负责数据存储处理
- redis_version:info输出字段,标记服务端实际运行版本
docker容器部署Redis,你要先执行dockerexec进入容器内部shell,再执行对应的查询命令,宿主机直接执行redis‑server命令读取到的是宿主机本地程序版本,不是容器内部Redis实例版本。
版本号分段规则遵循Redis官方社区发布规范,主版本.次版本.补丁版本,例如7.2.5,7代表主版本,2代表次版本,5代表补丁修复编号,次版本号为偶数代表稳定发行版本,奇数为开发测试版本,生产环境优先选用偶数次版本的Redis。
