我想知道从零开始使用php连接到redis的方法是什么(不使用像predis这样的客户端)?
谢谢。
您可以使用fsockopen
进行连接,并通过发送原始命令和读取服务器响应进行通信:
$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
使用原始TCP连接是一种方法。
你可以很容易地参考Predis代码,看看它们是如何连接的。
https://github.com/nrk/predis/blob/v0.7/lib/Predis/Network/StreamConnection.php::tcpStreamInitializer()
这基本上是http://php.net/stream_socket_client:所以我会参考那个页面来获得最详细的信息。
如果我没有错的话,这就像在命令行中建立TELNET连接并以这种方式与Redis接口一样。
希望能有所帮助。