sql >> Database >  >> NoSQL >> Redis

Misbruik cURL om te communiceren met Redis

Als je curl wilt gebruiken, heb je REST over RESP nodig, zoals webdis, tinywebdis of turbowebdis. Zie https://github.com/markuman/tinywebdis#turbowebdis-tinywebdis--cherrywebdis

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

Zonder een REST-interface voor redis kun je bijvoorbeeld netcat gebruiken.

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

Voor wachtwoordbeveiligde redis kunt u netcat als volgt gebruiken:

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

Met netcat moet je het RESP-protocol zelf bouwen. Zie http://redis.io/topics/protocol

update 09-01-2018

Ik heb een krachtige bash-functie gebouwd die de redis-instantie koste wat kost via tcp pingt

    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)
    }

gebruik redis-ping localhost



  1. redis inzetten voor heroku kan geen verbinding maken

  2. Redis en Memcache of alleen Redis?

  3. MongoDB .NET genereert geen _id op upsert

  4. PyMongo-transactiefout:transactienummers zijn alleen toegestaan ​​op een replicasetlid of mongo's