Linux - Instalar apenas redis-cli

182

Eu tenho um servidor Linux com Redis instalado e quero conectar-me a ele via linha de comando da minha máquina Linux local.

É possível instalar redis-cliapenas (sem redis-servere outras ferramentas)?

Se eu apenas copiar o redis-cliarquivo para minha máquina local e executá-lo, tenho o seguinte erro:

./redis-cli: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./redis-cli)
Oleg
fonte
2
Bem, 1. não é surpreendente que apenas copiar o executável não funcione: provavelmente você tem diferentes versões de arquitetura e biblioteca, que não podem funcionar. 2. você deve consultar o sistema de gerenciamento de software que sua distribuição fornece e ver quais reditpacotes ela fornece. Em seguida, instalar um desses shoudl requer apenas um único clique. Você nunca deve fazer uma instalação selvagem de coisas em um sistema Linux, se puder usar o gerenciamento de software.
Arkascha
@arkascha Obrigado pela sua dica. Eu sou muito novo para Linux assim que esta informação é muito útil para mim
Oleg
Quer dizer que você é um desenvolvedor que trabalha em um ambiente Linux, mas nunca usou o sistema de gerenciamento de software de seus sistemas? Que distribuição você usa?
Arkascha 15/02
Você também pode estar interessado em um pacote chamado 'hiredis', que oferece um cliente c minimalista para redis. Entretanto, nenhum cliente cli pronto para uso.
Arkascha 15/02
1
E git clone [email protected]:antirez/redis.gitentão cd src && make redis-cli?
22414 Deltheil

Respostas:

350

O Ubuntu (testado em 14.04) possui um pacote chamado, redis-toolsque contém redis-clientre outras ferramentas. Para instalá-lo, digite:

sudo apt-get install redis-tools
Иван Бишевац
fonte
17
algo semelhante para centos?
Ariel Allon
@AlinPurcaru docker run --rm --network = host redis redis-cli info
yihuang
agora não está funcionando http://security.ubuntu.com/ubuntu bionic-updates/universe amd64 redis-tools amd64 5:4.0.9-1ubuntu0.1retorna 404 Não encontrado
Andrew Sneck 25/11
92

Em vez de redis-clivocê pode simplesmente usar nc!

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

Em seguida, envie os comandos.

Balázs Németh
fonte
11
Tente nc -v redis.mydomain.com 6379(ou a sua porta personalizada)
James111
4
Essa é a melhor resposta, pois não requer absolutamente nenhuma dependência ou ferramentas externas.
Pyrospade # 22/17
1
é possível usar isso com uma senha redis?
Matt Bucci
2
Você também pode usar rlwrap nc -v redis.mydomain.com 6379se você tem rlwrapo que permite usar atalhos de teclado, tal como faria em um shell (por exemplo ciclo / search comando anterior, próxima palavra)
Prashanth Chandra
1
Não consigo encontrar a --sslopção para nc. Você quis dizer ncat?
hashlash
37

Em 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/

Com o Docker, normalmente uso https://registry.hub.docker.com/_/redis/ . Se eu precisar adicionar redis-cli a uma imagem, use o seguinte trecho.

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
Kevin Watson
fonte
30

Para instalar o 3.0, que é a versão estável mais recente :

$ git clone http://github.com/antirez/redis.git 
$ cd redis && git checkout 3.0 
$ make redis-cli 

Opcionalmente, você pode colocar o executável compilado no caminho de carregamento por conveniência:

$ ln -s src/redis-cli /usr/local/bin/redis-cli
Agis
fonte
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- isso funciona para mim.
dhamu 27/09/14
tentou editar isso. mas aqui está uma ideia geral de como fazê-lo agora ... gist.github.com/Artistan/d9288f8e12c4027096e66bd331d4e4fd
Artistan
15

Para o centOS, talvez você possa tentar seguir as etapas

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
Robert
fonte
6
Comentário potencialmente estúpido, mas não esqueça de instalar o gcc sudo yum install gccantes de executar make!
Bryan Cote-Chang
Também funciona no linux.
Barath
15

No meu caso, tenho que executar mais algumas etapas para construí-lo no RedHat ou 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
fonte
7

Para expandir a resposta da @ Agis, você também pode instalar a CLI do Redis executando

$ git clone -b v2.8.7 [email protected]:antirez/redis.git
$ make -C redis install redis-cli /usr/bin

Isso criará a CLI do Redis e lançará o binário em / usr / bin. Para quem usa o Docker , também construí um Dockerfile que faz isso para você: https://github.com/bacongobbler/dockerfiles/blob/master/redis-cli/Dockerfile

bacongobbler
fonte
Obrigado pela sua resposta. Vou tentar assim que eu puder
Oleg
Para mim este comando compilado todo o Redis, não sóredis-cli
Oleg
5

Usando o Docker , você pode executar este comando para obter o Redis CLI:

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

onde redisa redisimagem do docker do Docker Hub
redis-cliestá pré-instalada nessa imagem e todos os parâmetros a seguir redis-cli:
-hé o nome do host ao qual se conectar,
-paparentemente é a porta à qual se conectar.

Ondra Žižka
fonte
5

Você também pode usar o telnet

telnet redis-host 6379

E, em seguida, emita o comando, por exemplo, para monitorar

monitor
xelber
fonte
0

você pode copiá-lo da sua máquina redis se você tiver um, é apenas um binário único. Ou copie com nc se a rede privada (este método for inseguro):

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

Fiz uma solução simples e pura, que está em desenvolvimento.

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

Crie uma vez e execute em qualquer lugar. Totalmente portátil.

Por favor, sinta-se livre para tentar.

holys
fonte
0

Há muitas maneiras de instalar radis-cli. Vem com redis-toolse redis-server. A instalação de qualquer um deles também será instalada redis-cli. Mas também instalará outras ferramentas. Como você redis-serverinstalou em algum lugar e só está interessado em instalar redis-cli. Para instalar instale apenas redis-clisem outras ferramentas desnecessárias, siga o comando abaixo

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
Shalauddin Ahamad Shuza
fonte
1
Obtendo esse erro no comando copy, qualquer idéia de como corrigi-lo cp src / redis-cli / usr / local / bin / cp: não pode stat 'src / redis-cli': não
existe