henderjon / redis
an incomplete redis library
Fund package maintenance!
www.buymeacoffee.com/henderjon
www.paypal.me/henderjon/10
henderjon
Installs: 38 836
Dependents: 2
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 2
Open Issues: 0
Requires
- php: >=5.5
- psr/log: ~1.0
Requires (Dev)
- henderjon/drop: ~1.0
- phpunit/phpunit: ~4.6
README
a simple and (in)complete redis library
Peruse the tests or, if present, the examples directory to see usage.
RedisProtocol
RedisProtocol
is responsible for holding a connection to a Redis server,
translating PHP functions/args into the Redis
protocol, and reading/writing to the
connection. It allows for pipelining (via
pipe()
) and uses . Extending __call()
to allow for the variability in Redis function
names and argumentsRedisProtocol
or only implemnting the trait
in whose methods your interested, is simple and effective if
you're 1) not interested in pub/sub and 2)
familiar with Redis.
RedisSubscription
RedisSubscription
is a wrapper/shorthand to the
pub/sub model of Redis and returns lambdas
that allow for looping/listening as part of a subscription
(example). Extend RedisSubscription
to get all of
RedisProtocol
+ pub/sub in PHP.
RedisExceptions
All Redis errors are thrown as RedisExceptions. Protocol errors are thrown as RedisProtocolExceptions.
Redis
The Redis
class implements all** the methods that Redis has available as of
v3.0 and has a few constants for those instances where keywords are used as
switches within a Redis function. It composes a series of traits that
represent the divisions present in the Redis command documentation.
Interfaces are included--also broken into sections via the Redis command documentation. This allows the usage of individual traits/interfaces if only a subset of Redis functionality is desired.
I would recommend against using the PubSubTrait
methods as
RedisSubscription
abstracts a lot of the dirty work.
There are a few instances where one Redis function has been broken into two or
more PHP functions as Redis uses some keywords as arguments. For example
bitop
has been broken into Redis::bitopAnd()
, Redis::bitopOr()
,
Redis::bitopXor()
, Redis::bitopNot()
for (potentially) clearer PHP
implementation(s).
**There are a handful of exceptions: Redis::clusterSetSlot()
,
Redis::echo()
, and Redis::sort()
I recommend looking through the code and the examples. However, I've auto generated some documentation for your delight and edification.