Linux: instale solo redis-cli

182

Tengo un servidor Linux con Redis instalado y quiero conectarme a él a través de la línea de comandos desde mi máquina Linux local.

¿Es posible instalar redis-clisolo (sin redis-servery otras herramientas)?

Si solo copio el redis-cliarchivo en mi máquina local y lo ejecuto, tengo el siguiente error:

./redis-cli: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./redis-cli)
Oleg
fuente
2
Bueno, 1. no es sorprendente que simplemente copiar el ejecutable no funcione: lo más probable es que tenga diferentes versiones de arquitectura y biblioteca, eso no puede funcionar. 2. debe consultar el sistema de gestión de software que proporciona su distribución y ver qué reditpaquetes proporciona. Luego instalar uno de esos shoudl solo requiere un solo clic. Usted debe no hacer una instalación salvaje de cosas en un sistema Linux si se puede usar la administración de software en su lugar.
arkascha
@arkascha Gracias por tu consejo. Soy bastante nuevo en Linux, por lo que esta información es muy útil para mí
Oleg
¿Quiere decir que es un desarrollador que trabaja en un entorno Linux, pero nunca utilizó el sistema de gestión de software de sus sistemas? ¿Qué distribución usas?
arkascha
También puede interesarle un paquete llamado 'hiredis' que ofrece un cliente c minimalista para redis. Sin embargo, no hay un cliente cli listo para usar.
arkascha
1
¿Qué hay de git clone [email protected]:antirez/redis.gitentonces cd src && make redis-cli?
deltheil

Respuestas:

350

Ubuntu (probado en 14.04) tiene un paquete llamado redis-toolsque contiene redis-clientre otras herramientas. Para instalarlo escriba:

sudo apt-get install redis-tools
Иван Бишевац
fuente
17
algo similar para centos?
Ariel Allon
@AlinPurcaru docker run --rm --network = host redis redis-cli info
yihuang
ahora no funciona http://security.ubuntu.com/ubuntu bionic-updates/universe amd64 redis-tools amd64 5:4.0.9-1ubuntu0.1devuelve 404 No encontrado
Andrew Sneck
92

En lugar de redis-cliusted, simplemente puede usar nc!

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

Luego envíe los comandos.

Balázs Németh
fuente
11
Prueba nc -v redis.mydomain.com 6379(o tu puerto personalizado)
James111
44
Esta es la mejor respuesta ya que no requiere absolutamente ninguna dependencia o herramientas externas.
pyrospade
1
¿Es posible usar esto con una contraseña de redis?
Matt Bucci
2
También puede usar, rlwrap nc -v redis.mydomain.com 6379si tiene, lo rlwrapque le permite usar métodos abreviados de teclado como lo haría en un shell (por ejemplo, ciclo / buscar comando anterior, siguiente palabra)
Prashanth Chandra
1
No puedo encontrar la --sslopción para nc. Quiso decir ncat?
hashlash el
37

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

Con Docker, normalmente uso https://registry.hub.docker.com/_/redis/ . Si necesito agregar redis-cli a una imagen, uso el siguiente fragmento.

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
fuente
30

Para instalar 3.0, que es la última versión estable :

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

Opcionalmente, puede poner el ejecutable compilado en su ruta de carga para mayor comodidad:

$ ln -s src/redis-cli /usr/local/bin/redis-cli
Agis
fuente
44
git clone http://github.com/antirez/redis.git && cd redis && git checkout 2.8.6 && make redis-cli && cp src/redis-cli /usr/local/binEsto funciona para mí.
dhamu
Intenté editar esto. pero aquí hay una idea de cómo hacerlo ahora ... gist.github.com/Artistan/d9288f8e12c4027096e66bd331d4e4fd
Artistan
15

Para centOS, quizás pueda intentar seguir los pasos

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
fuente
66
Comentario potencialmente estúpido, ¡pero no olvides instalar gcc sudo yum install gccantes de ejecutarlo make!
Bryan Cote-Chang
Funciona en Linux también.
barath
15

En mi caso, tengo que ejecutar algunos pasos más para construirlo en RedHat o 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
fuente
7

Para ampliar la respuesta de @ Agis, también puede instalar la CLI de Redis ejecutando

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

Esto generará la CLI de Redis y arrojará el binario a / usr / bin. Para cualquiera que use Docker , también he creado un Dockerfile que hace esto por usted: https://github.com/bacongobbler/dockerfiles/blob/master/redis-cli/Dockerfile

bacongobbler
fuente
Gracias por su respuesta. Lo intentaré tan pronto como pueda
Oleg
Para mí, este comando compiló todo el Redis, no soloredis-cli
Oleg
5

Con Docker , puede ejecutar este comando para obtener la CLI de Redis:

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

dónde redisestá la redisimagen de Docker de Docker Hub,
redis-cliestá preinstalada en esa imagen, y después de eso hay parámetros para redis-cli:
-hes el nombre de host para conectarse,
-paparentemente es el puerto al que conectarse.

Ondra Žižka
fuente
5

También puedes usar telnet en su lugar

telnet redis-host 6379

Y luego emita el comando, por ejemplo para monitorear

monitor
xelber
fuente
0

puede seleccionarlo desde su máquina redis si tiene uno, es solo un binario. O copie con nc si la red privada (este método es inseguro):

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

Hice una solución simple de pure-go, que está en desarrollo.

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

Construye una vez y corre por todas partes. Totalmente portátil

Por favor, siéntase libre de probarlo.

holys
fuente
0

Hay muchas formas de instalar radis-cli. Viene con redis-toolsy redis-server. Instalar cualquiera de ellos también se instalará redis-cli. Pero también instalará otras herramientas también. Como lo has redis-serverinstalado en algún lugar y solo te interesa instalarlo redis-cli. Para instalar instalar solo redis-clisin otras herramientas innecesarias, siga el siguiente comando

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
fuente
1
Obteniendo este error en el comando copiar, alguna idea de cómo solucionarlo cp src / redis-cli / usr / local / bin / cp: no puede stat 'src / redis-cli': No
existe