webdcg / redis
Redis client for PHP using the PhpRedis C Extension
0.14.0
2020-02-26 04:08 UTC
Requires
- php: ^7.2
Requires (Dev)
- phpunit/phpunit: ^7.5
- scrutinizer/ocular: ^1.6
- symfony/process: ^5.0
- symfony/var-dumper: ^5.0
- symplify/easy-coding-standard: ^7.2
- theseer/phpdox: ^0.12.0
README
OOP Redis client for PHP using the PhpRedis C Extension
Table of contents
Installation
You can install the package via composer:
composer require webdcg/redis
Classes and methods
Usage
$redis = new Webdcg\Redis\Redis;
Bits
// Count set bits in a string $redis->bitCount('key'); $redis->bitField('key'); $redis->bitPos('key'); $redis->bitOp('key'); $redis->getBit('key'); $redis->setBit('key');
Connection
$redis->connect('127.0.0.1', 6379); $redis->open('127.0.0.1', 6379); $redis->pconnect('127.0.0.1', 6379); $redis->popen('127.0.0.1', 6379); $redis->auth('secret'); $redis->select(1); $redis->swapdb(0, 1); $redis->close(); $redis->setOption(\Redis::OPT_PREFIX, 'redis:'); $redis->getOption(\Redis::OPT_PREFIX) $redis->ping('pong'); $redis->echo('redis');
Geocoding
$options = ['WITHDIST']; $redis->geoAdd('Geocoding', -122.431, 37.773, 'San Francisco'); $redis->geoAdd('Geocoding', -73.935242, 40.730610, 'New York'); $redis->geoHash('Geocoding', 'San Francisco'); $redis->geoPos('Geocoding', 'San Francisco'); $redis->geoDist('Geocoding', 'San Francisco', 'New York'); $redis->geoRadius("Geocoding", -157.858, 21.306, 300, 'mi', $options); $redis->geoRadiusByMember("Geocoding", 'San Francisco', 300, 'mi', $options);
Hashes
$redis->del('key'); $redis->delete('key'); $redis->unlink('key');
HyperLogLogs
$redis->pfAdd('HyperLogLog', ['a', 'b', 'c']); $redis->pfCount('HyperLogLog'); // 3 $redis->pfAdd('HyperLogLog2', ['b', 'd']); $redis->pfMerge('HyperLogLogMerged', ['HyperLogLog', 'HyperLogLog2']); $redis->pfCount('HyperLogLogMerged'); // 4 => a, b, c, d
Introspection
$redis->del('key'); $redis->delete('key'); $redis->unlink('key');
Keys
$redis->del('key'); $redis->delete('key'); $redis->unlink('key');
Lists
$redis->del('key'); $redis->delete('key'); $redis->unlink('key');
Pub/sub
$redis->del('key'); $redis->delete('key'); $redis->unlink('key');
Scripting
$redis->del('key'); $redis->delete('key'); $redis->unlink('key');
Sets
$redis->del('key'); $redis->delete('key'); $redis->unlink('key');
Sorted Sets
$redis->del('key'); $redis->delete('key'); $redis->unlink('key');
Streams
$redis->del('key'); $redis->delete('key'); $redis->unlink('key');
Strings
// Simple key -> value set $redis->set('key', 'value'); // Will redirect, and actually make an SETEX call $redis->set('key', 'value', 10); // Will set the key, if it doesn't exist, with a ttl of 10 seconds $redis->set('key:'.time(), 'value', ['nx', 'ex' => 10]); // Will set a key, if it does exist, with a ttl of 1000 miliseconds $redis->set('key', 'value', ['xx', 'px' => 1000]); $redis->setEx('key', 10, 'value');
Transactions
$redis->del('key'); $redis->delete('key'); $redis->unlink('key');
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email rluna@webdcg.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
PHP Package Boilerplate
This package was generated using the PHP Package Boilerplate.