redis 查看版本(保姆级教程)

更新时间:

💡一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

截止目前, 星球 内专栏累计输出 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 命令可获取服务器的详细信息,包括版本号、内存使用情况等。

步骤

  1. 启动 Redis 服务(若未运行):
    redis-server
    
  2. 连接本地 Redis 服务器:
    redis-cli
    
  3. 执行 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 工具,其界面清晰,适合不熟悉命令行的开发者。

操作步骤

  1. 安装并启动 RDM。
  2. 新建连接(默认为 localhost:6379)。
  3. 连接成功后,点击左侧导航栏的 Server 标签页。
  4. Server Information 部分直接查看 Redis Version 字段。

优势:无需记忆命令,适合快速查看服务器基础信息。


3.2 使用 DBeaver 插件扩展功能

DBeaver 是一款通用数据库工具,通过安装 Redis 插件也能实现版本查询。

步骤

  1. 在 DBeaver 中安装 Redis 插件。
  2. 新建 Redis 连接并配置参数。
  3. 连接成功后,导航至 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)的访问。 解决方案

  1. 检查服务器防火墙设置,开放 6379 端口。
  2. 使用 telnetnc 命令测试端口连通性:
    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 版本相关的挑战。

最新发布