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

182

У меня есть сервер 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)
Олег
источник
2
Что ж, 1. неудивительно, что простое копирование исполняемого файла не работает: скорее всего, у вас другая архитектура и версии библиотеки, которые не могут работать. 2. вам следует обратиться к системе управления программным обеспечением, которую предоставляет ваш дистрибутив, и посмотреть, какие reditпакеты он предоставляет. Тогда для установки одного из этих шоудлов потребуется всего один клик. Вы никогда не должны делать дикую установку вещей в систему Linux, если вместо этого вы можете использовать управление программным обеспечением.
arkascha
@arkascha Спасибо за ваш совет. Я совсем новичок в Linux, поэтому эта информация очень полезна для меня
Олег
Вы имеете в виду, что вы разработчик, работающий в среде Linux, но вы никогда не использовали свою систему управления системным программным обеспечением? Какой дистрибутив вы используете?
arkascha
Вас также может заинтересовать пакет под названием «hiredis», который предлагает минималистичный клиент c для redis. Нет готового к использованию клиента Cli, хотя.
arkascha
1
Как насчет git clone git@github.com:antirez/redis.gitтогда cd src && make redis-cli?
deltheil

Ответы:

350

Ubuntu (протестировано 14.04) имеет пакет с названием, redis-toolsкоторый содержит redis-cliсреди других инструментов. Чтобы установить его, наберите:

sudo apt-get install redis-tools
Иван Бишевац
источник
17
что-нибудь похожее на сентос?
Ариэль Аллон
@AlinPurcaru docker run --rm --network = host redis redis-cli info
yihuang
теперь это не работает http://security.ubuntu.com/ubuntu bionic-updates/universe amd64 redis-tools amd64 5:4.0.9-1ubuntu0.1возвращает 404 Не найдено
Эндрю Снек
92

Вместо redis-cliтебя можно просто использовать nc!

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

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

Балаш Немет
источник
11
Попробуйте nc -v redis.mydomain.com 6379(или ваш собственный порт)
James111
4
Это лучший ответ, так как он не требует абсолютно никаких зависимостей или внешних инструментов.
Pyrospade
1
Можно ли использовать это с паролем Redis?
Мэтт Буччи
2
Вы также можете использовать, rlwrap nc -v redis.mydomain.com 6379если у вас есть, rlwrapкоторый позволяет вам использовать сочетания клавиш, как в оболочке (например, цикл / поиск предыдущей команды, следующее слово)
Прашант Чандра
1
Я не могу найти --sslвариант для nc. Вы имели в виду ncat?
hashlash
37

С 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
Кевин Уотсон
источник
30

Чтобы установить 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
Агис
источник
4
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
Artistan
15

Для 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
Роберт
источник
6
Потенциально глупый комментарий, но не забудьте установить gcc sudo yum install gccперед запуском make!
Брайан Кот-Чанг
Работает на Linux тоже.
Барат
15

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

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

$ 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

bacongobbler
источник
Спасибо за ваш ответ. Я попробую это, как только смогу
Олег
Для меня эта команда скомпилировала весь Redis, а не толькоredis-cli
Олег
5

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

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

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

Ондра Жижка
источник
5

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

telnet redis-host 6379

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

monitor
xelber
источник
0

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

redisclient: nc -l 8888 > /usr/local/bin/redis-cli
redisserver: cat /usr/local/bin/redis-cli | nc redisclient 8888
Заур
источник
0

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

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

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

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

holys
источник
0

Есть много способов установки 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
Шалауддин Ахамад Шуза
источник
1
Получение этой ошибки в команде копирования, любая идея, как это исправить cp src / redis-cli / usr / local / bin / cp: невозможно stat 'src / redis-cli': такого файла или каталога нет
Vipresh