Linux - 仅安装 redis-cli

Posted

技术标签:

【中文标题】Linux - 仅安装 redis-cli【英文标题】:Linux - Install redis-cli only 【发布时间】:2014-03-14 18:10:42 【问题描述】:

我有一个安装了 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 呢? 【参考方案1】:

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

sudo apt-get install redis-tools

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

sudo apt install redis-tools

【讨论】:

centos 有什么类似的吗? @AlinPurcaru - gist.github.com/Artistan/d9288f8e12c4027096e66bd331d4e4fd @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

【讨论】:

以上是关于Linux - 仅安装 redis-cli的主要内容,如果未能解决你的问题,请参考以下文章

redis的安装和启动linux环境

查看linux上面是否有安装redis,redis是否启动

redis安装好了,但redis-cli不能用,就是说$redis-cli回车后没有反应

Linux安装Redis

linux的redis的安装

Linux系统在线安装启动 redis