我有一个安装了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)

当前回答

在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 -it --rm --network=host redis:alpine redis-cli'

如果您使用Bash,可以添加到。bashrc

其他回答

对于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

你可以从你的redis机器SCP它,如果你有一个,它只是一个二进制。 如果是私有网络,则使用nc复制(此方法不安全):

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

在我的情况下,我必须运行更多的步骤来在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/

Ubuntu(在14.04测试)有一个名为redis-tools的包,其中包含redis-cli等工具。 要安装它,输入:

sudo apt-get install redis-tools

注意,在Ubuntu 16.04+上,这个命令有点不同:

sudo apt install redis-tools

为了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