Linux-установить только redis-cli

у меня есть сервер Linux с установленным Redis, и я хочу подключиться к нему через командную строку с моей локальной машины 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)

11 ответов


Ubuntu (протестирован на 14.04) имеет пакет под названием redis-tools, которая содержит redis-cli среди других инструментов. Для установки типа:

sudo apt-get install redis-tools

вместо redis-cli вы можете просто использовать nc!

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

затем отправьте команды.


установить 3.0 что это последняя стабильная версия:

$ 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

от http://redis.io/topics/quickstart

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

с Докером я обычно использую 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

для 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

чтобы развернуть ответ @Agis, вы также можете установить Redis CLI, запустив

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

это создаст CLI Redis и бросит двоичный файл в /usr/bin. Всем, кто использует настройки, Я также построил Dockerfile, который делает это для вас:https://github.com/bacongobbler/dockerfiles/blob/master/redis-cli/Dockerfile


в моем случае мне нужно выполнить еще несколько шагов, чтобы построить его на 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/

используя настройки, вы можете запустить эту команду, чтобы получить Redis CLI:

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

здесь redis это redis изображение docker из Docker Hub,
redis-cli предварительно установлен в этом образе, и все после этого являются параметрами redis-cli:
-h имя хоста для подключения,
-p видимо, порт для подключения.


вы можете scp его с вашей машины redis, если у вас есть один, его только один двоичный файл. Или скопируйте с nc, если частная сеть (этот метод небезопасен):

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

Я сделал простое решение pure-go, которое находится в стадии разработки.

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

построить один раз и запустить везде. Полностью портативный.

пожалуйста, не стесняйтесь попробовать.


вы также можете использовать telnet вместо

telnet redis-host 6379

а затем выполните команду, например, для мониторинга

monitor