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】:
就我而言,我必须运行更多步骤才能在 RedHat 或 Centos 上构建它。
# 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-tools
和redis-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 失败 / make 命令失败,则:
从 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的主要内容,如果未能解决你的问题,请参考以下文章