【问题标题】:Linux - Install redis-cli onlyLinux - 仅安装 redis-cli
【发布时间】:2026-02-02 22:00:01
【问题描述】:

我有一个安装了 Redis 的 Linux 服务器,我想从我的本地 Linux 机器通过命令行连接到它。

是否可以只安装redis-cli(不安装redis-server 和其他工具)?

如果我只是将redis-cli 文件复制到我的本地计算机并运行它,则会出现以下错误:

./redis-cli: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./redis-cli)

【问题讨论】:

  • 好吧,1. 仅复制可执行文件不起作用也就不足为奇了:很可能您有不同的体系结构和库版本,无法正常工作。 2. 您应该咨询您的发行版提供的软件管理系统,看看它提供了哪些redit 软件包。然后安装其中一个应该只需要单击一下。如果您可以使用软件管理来代替,您应该永远在 Linux 系统中狂野地安装东西。
  • @arkascha 谢谢你的小费。我对 Linux 很陌生,所以这些信息对我非常有用
  • 您的意思是您是在Linux环境下工作的开发人员,但您从未使用过您的系统软件管理系统?你使用什么发行版?
  • 您可能还对一个名为“hiredis”的包感兴趣,它为 redis 提供了一个简约的 c 客户端。虽然没有现成的 cli 客户端。
  • git clone git@github.com:antirez/redis.git 然后cd src && make redis-cli 呢?

标签: linux redis


【解决方案1】:

Ubuntu(在 14.04 上测试)有一个名为 redis-tools 的软件包,其中包含 redis-cli 以及其他工具。 要安装它,请键入:

sudo apt-get install redis-tools

请注意,在 Ubuntu 16.04+ 上,该命令有点不同:

sudo apt install redis-tools

【讨论】:

  • centos 有什么类似的吗?
  • @AlinPurcaru docker run --rm --network=host redis redis-cli info
  • 现在它不工作 http://security.ubuntu.com/ubuntu bionic-updates/universe amd64 redis-tools amd64 5:4.0.9-1ubuntu0.1 返回 404 Not Found
【解决方案2】:

您可以简单地使用nc,而不是redis-cli

nc -v --ssl redis.mydomain.com 6380

然后提交命令。

【讨论】:

  • 试试nc -v redis.mydomain.com 6379(或您的自定义端口)
  • 这是最好的答案,因为它完全不需要依赖或外部工具。
  • 是否可以使用redis密码?
  • 如果你有rlwrap,你也可以使用rlwrap nc -v redis.mydomain.com 6379,它可以让你像在shell中一样使用键盘快捷键(例如循环/搜索上一个命令,下一个单词)
  • 我找不到nc--ssl 选项。你的意思是ncat
【解决方案3】:

来自http://redis.io/topics/quickstart

wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make redis-cli
sudo cp src/redis-cli /usr/local/bin/

对于 Docker,我通常使用 https://registry.hub.docker.com/_/redis/。如果我需要将 redis-cli 添加到图像中,我使用以下 sn-p。

RUN cd /tmp &&\
    curl http://download.redis.io/redis-stable.tar.gz | tar xz &&\
    make -C redis-stable &&\
    cp redis-stable/src/redis-cli /usr/local/bin &&\
    rm -rf /tmp/redis-stable

【讨论】:

    【解决方案4】:

    要安装3.0,即latest stable version

    $ git clone http://github.com/antirez/redis.git 
    $ cd redis && git checkout 3.0 
    $ make redis-cli 
    

    为方便起见,您可以选择将编译后的可执行文件放在加载路径中:

    $ ln -s src/redis-cli /usr/local/bin/redis-cli
    

    【讨论】:

    • git clone http://github.com/antirez/redis.git && cd redis && git checkout 2.8.6 && make redis-cli && cp src/redis-cli /usr/local/bin - 这对我有用。
    • 试图编辑这个。但这里有一个关于现在如何做的要点......gist.github.com/Artistan/d9288f8e12c4027096e66bd331d4e4fd
    【解决方案5】:

    就我而言,我必须运行更多步骤才能在 RedHatCentos 上构建它。

    # get system libraries
    sudo yum install -y gcc wget
    
    # get stable version and untar it
    wget http://download.redis.io/redis-stable.tar.gz
    tar xvzf redis-stable.tar.gz
    cd redis-stable
    
    # build dependencies too!
    cd deps
    make hiredis jemalloc linenoise lua geohash-int
    cd ..
    
    # compile it
    make
    
    # make it globally accesible
    sudo cp src/redis-cli /usr/bin/
    

    【讨论】:

    • 在 Amazon Linux 上为我工作
    【解决方案6】:

    对于centOS,也许可以尝试以下步骤

    cd /tmp
    wget http://download.redis.io/redis-stable.tar.gz
    tar xvzf redis-stable.tar.gz
    cd redis-stable
    make
    cp src/redis-cli /usr/local/bin/
    chmod 755 /usr/local/bin/redis-cli
    

    【讨论】:

    • 可能是愚蠢的评论,但别忘了在运行make之前安装gcc sudo yum install gcc
    • 也适用于 linux。
    【解决方案7】:

    使用Docker,你可以运行这个命令来获取Redis CLI:

    docker run -it --rm redis:alpine redis-cli -h redis.mycompany.org -p 6379
    

    其中redis 是来自 Docker Hub 的 redis docker 映像,
    redis-cli 预安装在该映像中,然后是 redis-cli 的参数:
    -h 是要连接的主机名,
    -p 显然是要连接的端口。

    您也可以使用上述命令创建别名

    alias redis-cli='docker run --rm --network=host redis:alpine redis-cli'
    

    如果您使用 Bash,可以将其添加到 .bashrc

    【讨论】:

      【解决方案8】:

      您也可以使用 telnet 代替

      telnet redis-host 6379
      

      然后发出命令,例如用于监控

      monitor
      

      【讨论】:

        【解决方案9】:

        要扩展@Agis 的答案,您还可以通过运行安装 Redis CLI

        $ git clone -b v2.8.7 git@github.com:antirez/redis.git
        $ make -C redis install redis-cli /usr/bin
        

        这将构建 Redis CLI 并将二进制文件放入 /usr/bin。对于使用 Docker 的任何人,我还为您构建了一个 Dockerfile:https://github.com/bacongobbler/dockerfiles/blob/master/redis-cli/Dockerfile

        【讨论】:

        • 感谢您的回答。我会尽快尝试
        • 对我来说,这个命令编译了整个 Redis,而不仅仅是 redis-cli
        【解决方案10】:

        对于亚马逊 Linux

        #sudo amazon-linux-extras install redis6
        #redis-cli
        

        【讨论】:

          【解决方案11】:

          如果你有一个,你可以从你的 redis 机器上 scp 它,它只是一个二进制文件。 或者私网用nc复制(这个方法不安全):

          redisclient: nc -l 8888 > /usr/local/bin/redis-cli
          redisserver: cat /usr/local/bin/redis-cli | nc redisclient 8888
          

          【讨论】:

            【解决方案12】:

            我做了一个简单的 pure-go 解决方案,正在开发中。

            redis-cli:https://github.com/holys/redis-cli

            构建一次,到处运行。完全便携。

            请随意尝试。

            【讨论】:

            • 喜欢您的解决方案,最近一次更新是 3 年前。您是否尝试使用新的 go 版本进行构建,会有什么不同吗?
            【解决方案13】:

            有很多方法可以安装radis-cli。它带有redis-toolsredis-server。安装其中任何一个也将安装redis-cli。但它也会安装其他工具。因为您在某处安装了redis-server,并且只对安装redis-cli 感兴趣。要安装仅安装 redis-cli 而没有其他不必要的工具,请按照以下命令进行

            cd /tmp
            wget http://download.redis.io/redis-stable.tar.gz
            tar xvzf redis-stable.tar.gz
            cd redis-stable
            make
            cp src/redis-cli /usr/local/bin/
            chmod 755 /usr/local/bin/redis-cli
            

            【讨论】:

            • 在复制命令上出现此错误,知道如何修复它 cp src/redis-cli /usr/local/bin/ cp: cannot stat 'src/redis-cli': No such file 或目录
            【解决方案14】:
            # get system libraries
            sudo yum install -y gcc wget
            
            # get stable version and untar it
            wget http://download.redis.io/redis-stable.tar.gz
            tar xvzf redis-stable.tar.gz
            cd redis-stable
            make redis-cli
            

            如果 build 失败 / ma​​ke 命令失败,则:

            从 src/server.h 和 src/networking.c 中删除所有带有 _Atomic 的行应该可以完成编译。

            # make it globally accesible
            sudo cp src/redis-cli /usr/local/bin/
            

            【讨论】:

              【解决方案15】:

              为了让 CentOS 无需编译即可获得 redis-cli,您可以从 Epel repo 获取 Redis rpm 并仅提取该工具。这是一步一步的说明

              yum install -y jemalloc
              yum install -y yum-utils
              # NOTE - EPEL REPO MUST BE INSTALLED AND ENABLED
              RPM_URL=$(yumdownloader --urls redis | tail -n1)
              RPM=$(basename $RPM_URL)
              mkdir /tmp/redis
              cd /tmp/redis
              wget $RPM_URL
              rpm2cpio $RPM | cpio -idmv "./usr/bin/redis-cli"
              mv ./usr/bin/redis-cli /usr/bin/redis-cli
              rm -rf /tmp/redis
              /usr/bin/redis-cli --version
              

              【讨论】: