Tidak melengkung, tetapi tidak memerlukan antarmuka HTTP atau nc (bagus untuk sesuatu seperti wadah tempat Anda belum memasang nc)
exec 3<>/dev/tcp/127.0.0.1/6379 && echo -e "PING\r\n" >&3 && head -c 7 <&3
Harus memberi Anda
+PONG
Anda dapat membaca lebih lanjut tentang apa yang terjadi dari artikel yang luar biasa ini.
Saat Anda ingin menggunakan curl, Anda memerlukan REST over RESP, seperti webdis, tinywebdis, atau turbowebdis. Lihat https://github.com/markuman/tinywebdis#turbowebdis-tinywebdis--cherrywebdis
$ curl -w '\n' http://127.0.0.1:8888/ping
{"ping":"PONG"}
Tanpa antarmuka REST untuk redis, Anda dapat menggunakan netcat misalnya.
$ (printf "PING\r\n";) | nc <redis-host> 6379
+PONG
Untuk redis yang dilindungi kata sandi, Anda dapat menggunakan netcat seperti ini:
$ (printf "AUTH <password>\r\n";) | nc <redis-host> 6379
+PONG
Dengan netcat Anda harus membangun sendiri protokol RESP. Lihat http://redis.io/topics/protocol
perbarui 09-01-2018
Saya telah membangun fungsi bash yang kuat yang mem-ping instance redis dengan biaya berapa pun melalui 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)
}
gunakan redis-ping localhost