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

当前回答

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

其他回答

从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添加到图像中,我使用下面的代码片段。

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

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

sudo apt-get install redis-tools

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

sudo apt install redis-tools

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

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

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

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