Yet another php redis implementation. Raw wrapper for real Redis fans. Main advantages:
- Doesn't require any dependencies as all the communication goes via tcp socket.
- All commands are passed as is, so you have all the freedom to play with redis just like in redis-cli.
- It won't get deprecated or obsolete for the same reason. You write raw commands by yourself.
- Doesn't matter which redis version you have.
- Supports chainable methods. Write multiple commands and send everything at once.
- Custom error function to handle errors.
- Dead Simple and lightweight, you're welcome to read all the 300+ lines of redis.php
- Forces you to actually learn and understand redis data structures and commands.
You can checkout latest version with:
$ git clone git://github.com/ziogas/PHP-Redis-implementation
To install PHP redis:
- Simply copy redis.php to your site and require it from external script
Here are some examples:
require 'redis.php';
function redis_error($error) {
throw new error($error);
}
$redis = new redis_cli ();
$redis->set_error_function('redis_error');
$redis->cmd('SET', 'foo', 'bar')
->cmd('HSET', 'hash', 'field', 'val')
->cmd('EXPIRE', 'foo', 300)
->set();
$foo = $redis->cmd('GET', 'foo')->get();
$field = $redis->cmd('HGET', 'hash', 'field')->get();
var_dump($foo);
var_dump($field);
More usage examples can be found on tests folder. For commands documentation just go directly to https://redis.io/commands
To run tests you'll need phpunit
Execute:
phpunit tests/*
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request
Arminas Zukauskas - [email protected]
Based on http://redis.io/topics/protocol
MIT Do whatever you want, attribution is nice but not required