clue/redis-protocol
Async Redis protocol implementation for PHP. Provides a low-level RESP encoder/decoder and streaming parser for building Redis clients and proxies, often used with ReactPHP. Lightweight, focused, and transport-agnostic for TCP/TLS connections.
Feature: Improve PHP 8.4+ support by avoiding implicitly nullable types. (#19 by @clue)
Update project structure, homepage and examples.
Add .gitattributes to exclude dev files from exports.
(#16, #20, #21 and #22 by @clue)
Update test suite to use GitHub actions for continuous integration (CI), run tests on all PHP versions up to PHP 8.3 and ensure 100% code coverage. (#15 by @SimonFrings and #17 and #18 by @clue)
RequestParser that also support the old
inline request protocol.Factory now has two distinct methods to create parsers:
createResponseParser() for a client-side librarycreateRequestParser() for a server-side library / testing frameworkpushIncoming() returns an array of all
parsed message models.php ModelInterface::getMessageSerialized($serializer) Re-organize the whole API into dedicated
Parser (protocol reader) andSerializer (protocol writer) sub-namespaces. (#4)Use of the factory has now been unified:
$factory = new Clue\Redis\Protocol\Factory();
$parser = $factory->createParser();
$serializer = $factory->createSerializer();
Add a dedicated Model for each type of reply. Among others, this now allows
you to distinguish a single line StatusReply from a binary-safe BulkReply. (#2)
Fix parsing binary values and do not trip over trailing/leading whitespace. (#4)
Improve parser and serializer performance by up to 20%. (#4)
How can I help you explore Laravel packages today?