2012-03-09 4 views
0

私はあなたがpredisのようなクライアントを使用せずに、最初からPHPを使用してredisに接続する方法を知りたいですか?どのように私は、クライアントライブラリを使用せずにphpを使用してredisに接続することができます

ありがとうございました。あなたはfsockopenを使用して接続し、生のコマンドを送信し、サーバの応答を読み取ることによって、通信することができ

答えて

5

$c = fsockopen('127.0.0.1', 6379, $errCode, $errStr); 

$rawCommand = "*2\r\n\$4\r\nEcho\r\n\$12\r\nhello world!\r\n"; 

fwrite($c, $rawCommand); 

$rawResponse = fgets($c); 
echo $rawResponse; // $12 

$rawResponse = fgets($c); 
echo $rawResponse; // hello world! 

このようにそれを使用するには、Redisのプロトコルに慣れる必要があります:生を使用してhttp://redis.io/topics/protocol

+0

PHPに 'RPUSH mylist" one "のコマンドをRESP互換文字列に変換するライブラリはありますか? – Phantom007

1

TCP接続は1つの方法です。

Predisコードを簡単に参照して、接続方法を確認できます。

https://github.com/nrk/predis/blob/v0.7/lib/Predis/Network/StreamConnection.php::tcpStreamInitializer()

そして、それは基本的にhttp://php.net/stream_socket_clientのラッパーです。だから私は、最も詳細な情報については、そのページを参照します。

私が間違っていないのであれば、コマンドラインでTELNET接続を行い、そのようにRedisと接続するのと同じです。

希望に役立ちます。

関連する問題