Age | Commit message (Collapse) | Author |
|
|
|
Expose the transferred number of bytes
|
|
* 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 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.
|
|
Co-authored-by: twosee <twose@qq.com>
|
|
Implement Redis 7.0.0 commands SINTERCARD and ZINTERCARD.
|
|
master handles multiple slot ranges
|
|
These now generate warnings with GCC 13
|
|
|
|
Add the COUNT argument to LPOP and RPOP
|
|
|
|
* Suppress implicit fallthrough warnings by using an attribute if we
have it and a do { } while(0) if we don't.
* Move duplicated logic for appending a ZSET score to one utility
function.
|
|
|
|
|
|
|
|
Add GET option to SET command
|
|
Without this, performing a HMGET call fails to decompress the data before
returning it to php.
|
|
Fix for #1847 when dealing with NULL multi bulk replies in RedisCluster.
Adds `Redis::OPT_NULL_MULTIBULK_AS_NULL` setting to have PhpRedis
treat NULL multi bulk replies as `NULL` instead of `[]`.
Co-authored-by: Alex Offshore <offshore@aopdg.ru>
|
|
|
|
|
|
Add support for Redis 6 ACLs in the `Redis`, `RedisCluster`, and `RedisArray` classes.
On a related note, it adds a mechanism for users to customize how we generate persistent connection IDs such that they can be grouped in different ways depending on the specific use case required (e.g. it would allow connections to be grouped by username, or by user-defined persistent_id, or both).
|
|
Various improvements and fixes to cluster slot caching.
* Improves slot caching so any unique set of seeds all hash to the same key
* Fix a couple of memory leaks.
* Fixes a segfault when executing a multiple key command such as `MGET` or `MSET` while the cluster is resharding.
|
|
|
|
Use the portable `ZEND_LONG_FORMAT` family instead of C format specifiers
|
|
|
|
|
|
See #1693
|
|
Addresses #1701
|
|
|
|
|
|
|
|
Addresses #1613
|
|
Addresses #1611
|
|
|
|
Addresses #1591
|
|
|
|
* Issue #1591
* Add notes to Changelog
|
|
Connections are stashed via redis_sock_disconnect so if RedisCluster
doesn't explicitly call that for slaves then pooling is never used for
those connections.
Addresses #1568
|
|
|
|
Adds an option to process the actual strings in simple string replies as
opposed to translating them to `true`. This only applies to
`rawCommand` and `eval` because as far as I know know vanilla Redis
command attaches any information besides `OK` to simple string replies.
Addresses #1550
|
|
|
|
|
|
|
|
|
|
PHP 7 removed TSRMLS_CC from zend_throw_exception* routines.
Additionally this commit creates two simple wrapper macros for throwing
Redis or RedisCluster exceptions so we don't duplicate as much code.
Additionally there were a couple of minor compiler warnings printf type
correctness fixed in this commit.
|
|
RedisCluster currently has a high construction overhead because
every request has to issue a CLUSTER SLOTS command to map the
keyspace. The issue is especially evident when a request only
does a few commands.
|
|
This commit removes support for PHP 5 by getting rid of all of our Zend
compatibility layer methods, as well as any call checking against
PHP_MAJOR_VERSION or ZEND_MODULE_API_NO.
Unit tests are all passing for Redis, RedisCluster, and RedisArray but
this should still be considered a work in progress until more testing
can be done.
Addresses issue #1448
|
|
|
|
|
|
|