GNU/Linux >> Tutoriales Linux >  >> Linux

Abusar de cURL para comunicarse con Redis

No curl, pero no requiere una interfaz HTTP o nc (excelente para algo como un contenedor donde no tiene nc instalado)

exec 3<>/dev/tcp/127.0.0.1/6379 && echo -e "PING\r\n" >&3 && head -c 7 <&3

Debería darte

+PONG

Puedes leer más sobre lo que está pasando en este fantástico artículo.


Cuando quiera usar curl, necesita REST sobre RESP, como webdis, tinywebdis o turbowebdis. Consulte https://github.com/markuman/tinywebdis#turbowebdis-tinywebdis--cherrywebdis

$ curl -w '\n' http://127.0.0.1:8888/ping
{"ping":"PONG"}

Sin una interfaz REST para redis, puede usar netcat, por ejemplo.

$ (printf "PING\r\n";) | nc <redis-host> 6379 
+PONG

Para redis protegido por contraseña, puede usar netcat de esta manera:

$ (printf "AUTH <password>\r\n";) | nc <redis-host> 6379
+PONG

Con netcat, debe crear el protocolo RESP usted mismo. Consulte http://redis.io/topics/protocol

actualización 2018-01-09

He creado una poderosa función bash que hace ping a la instancia de redis a cualquier costo sobre tcp

    function redis-ping() {
            # ping a redis server at any cost
            redis-cli -h $1 ping 2>/dev/null || \
                    echo $((printf "PING\r\n";) | nc $1 6379 2>/dev/null || \
                    exec 3<>/dev/tcp/$1/6379 && echo -e "PING\r\n" >&3 && head -c 7 <&3)
    }

uso redis-ping localhost


Linux
  1. Obtener información de encabezado con cURL

  2. Aprenda a usar el comando CURL en Linux con estos ejemplos

  3. Instale y configure NodeBB con Redis y Nginx en Ubuntu 12.04

  4. realizando solicitudes HTTP con cURL (usando PROXY)

  5. Script de Linux con curl para verificar que el servicio web esté activo

Comando Curl en Linux con ejemplos

Cómo hacer una solicitud POST con cURL

Cómo descargar archivos con el comando Curl en Linux

Cómo hacer una solicitud POST con curl

Instalar Redis en Ubuntu

Cómo configurar Logstash en Linux con ElasticSearch, Redis, Nginx