Как я могу подключиться к Redis с помощью PHP, но без использования клиентской библиотеки - PullRequest
2 голосов
/ 10 марта 2012

Я хотел бы знать, как подключиться к Redis с помощью php с нуля (без использования клиента, такого как predis)?

Спасибо.

Ответы [ 2 ]

7 голосов
/ 10 марта 2012

Вы можете подключиться с помощью 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

1 голос
/ 10 марта 2012

Использование необработанного TCP-соединения является одним из способов.

Вы можете легко ссылаться на код Predis, чтобы увидеть, как они соединяются.

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

И это в принципеобертка для http://php.net/stream_socket_client: поэтому я бы сослался на эту страницу для получения более подробной информации.

Если я не ошибаюсь, это было бы то же самое, что соединение TELNET в командной строке и взаимодействиес Redis таким образом.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...