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)

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 git@github.com: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

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.


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

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

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

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/

7

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

$ git clone -b v2.8.7 git@github.com: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


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.


5

También puedes usar telnet en su lugar

telnet redis-host 6379

Y luego emita el comando, por ejemplo para monitorear

monitor

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


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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.