Age | Commit message (Collapse) | Author |
|
|
|
|
|
Add additional complete docblocks for a few more commands.
Refactor SLAVEOF handler to conform with more modern PhpRedis command
handlers.
Create REPLICAOF and deprecate SLAVEOF as Redis has done since 5.0.0.
|
|
|
|
Add the CH, NX, XX arguments to GEOADD
|
|
Implement the TOUCH command and refactor several of our "variadic key"
commands, which were previously all using their own specific handlers.
While refactoring the code, I changed `EXISTS` to require one key (it
had previously been set to require zero keys).
Additonally, it looks like we had a disparity in two commands which
should be idential to PhpRedis: SINTERSTORE and SUNIONSTORE.
Previously, SINTERSTORE required only one argument but SUNIONSTORE 2.
I simply changed SUNIONSTORE to also only require a single argument,
since that argument could be an array.
```php
$redis->sInterStore(['dst', 'src1', 'src2']);
$redis->sUnionStore(['dst', 'src1', 'src2']);
```
|
|
|
|
See #2068
|
|
* Add ZRANGESTORE command.
* Add Redis 6.2's `REV`, `BYLEX`, and `BYSCORE` to ZRANGE options.
* Refactor several ZRANGE family commands into a single reply and
options handler, using PHP's new argument parsing macros.
* Extend our tests to use the new ZRANGE options.
See #1894
|
|
Implement Redis 7.0.0's readonly eval variants
See: #2068
|
|
Refactor the slowlog command to use the new argument parsing API and
also change it so we no longer manually handle atomic/non-atomic
logic in the handler itself.
|
|
Redis 7.0.0 allows for getting and setting multiple config values as an
atomic operation. In order to support this while maintaining backward
compatibility, the CONFIG command is reworked to also accept an array of
values or keys and values.
See: #2068
|
|
See #2068
|
|
See #2068
|
|
Fixes #1836
|
|
Closes #847
|
|
Fixes #1987
|
|
Add the new RESTORE options REPLACE, ABSTTL, FREQ <freq> and IDLETIME <idletime>
Fixes #1410
|
|
Implement the new Redis 7.0.0 commands to pop multiple elements from one
or more lists/zsets.
Additionally, remove INTERNAL_FUNCTION_PARAMETERS from the
redis_sock_read_multibulk_reply_zval helper function as it wasn't
actually being used.
|
|
These changes allow the PHP 8 unit tests to pass even when zpp strict
mode is enabled.
I'm not exactly sure which setting causes the issue, but without these
changes I get many `zpp` errors if I run the tests inside of a PHP build
tree.
|
|
Co-authored-by: twosee <twose@qq.com>
|
|
|
|
Implement the Redis 7.0.0 LCS command with tests.
|
|
Implement Redis 7.0.0 commands SINTERCARD and ZINTERCARD.
|
|
Rework the CONFIG command and add RESETSTAT variant.
Fixes #1673
|
|
|
|
Add lPos command.
|
|
|
|
refactor MINIT (split in each class sources file)
use @generate-class-entries in stub files
add RedisException and RedisClusterException in stub files
|
|
Add the COUNT argument to LPOP and RPOP
|
|
|
|
|
|
Add FAILOVER command.
|
|
Add GETEX, GETDEL commands.
|
|
|
|
Add Redis::hRandField command
|
|
|
|
|
|
Fix restoring keys when using compression
|
|
Add XAUTOCLAIM command
|
|
|
|
Add geosearch and geosearchstore commands.
|
|
|
|
|
|
This commit is an attempt at detecting unconsumed data on a socket when
we pull it from the connection pool.
Two new INI settings are introduced related to the changes:
redis.pconnect.pool_detect_dirty:
Value Explanation
----- ----------------------------------------------------------------
0 Don't execute new logic at all.
1 Abort and close the socket if we find unconsumed bytes in the
read buffer.
2 Seek to the end of our read buffer if we find unconsumed bytes
and then poll the socket FD to detect if we're still readable
in which case we fail and close the socket.
redis.pconnect.pool_poll_timeout:
The poll timeout to employ when checking if the socket is readable.
This value is in milliseconds and can be zero.
|
|
|
|
|
|
|
|
|
|
|