Age | Commit message (Collapse) | Author |
|
|
|
* 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
|
|
|
|
|
|
|
|
Fix for memory leaks in `RedisCluster->_masters()` and `RedisCluster->info()`
|
|
|
|
|
|
Although a -1 return value from cluster_check_response is likely
a timeout, it is not the only possibility, so handle the loop
timeout and error response in distinct ways.
|
|
When cluster_check_response returns -1 this can be treated as a
timeout.
Note that there is one non-timout condition which can
cause a -1 response, but that is a corrupted MOVE/ASK reply
which can *probably* be treated as a timeout as well,
because it means that something has gone horribly wrong
with the connection.
Addresses #1425
|
|
* Reset the socket after a timeout to make sure no wrong data is received
* Remove the lazy_connect completely
* Missing TSRMLS_CC
* Remove redundant check if the stream exists
* Add the redis_sock_server_open to the CLUSTER_SEND_PAYLOAD macro
|
|
Streams API
|
|
Fix printf format warnings
|
|
Persistant connections can be closed via close method.
Connection marked as failed only after reconnection attempts.
|
|
|
|
Use `cluster_free` in `free_cluster_context` to free cluster object.
Call `cluster_disconnect` before destroying cluster object.
|
|
Addresses #1349
|
|
|
|
|
|
the element of z_seeds may be a reference on php7
|
|
|
|
|
|
|
|
|
|
This commit is adding support of data compression.
LZF was choosen because it small and fast and Redis server uses it.
Since [pecl package](https://pecl.php.net/package/lzf) doesn't provide
lzf.h file after installing, LZF library was added as submodule.
Another algorythms may be easely added by analogy with serializers.
TODO: unit-tests for different data types.
|
|
|
|
Following fields were changed: err, prefix, persistent_id, auth and host
|
|
|
|
|
|
|
|
|
|
Two types of warnings were fixed in this commit:
1. The left operand of '<=' is a garbage value
2. Function call argument is an uninitialized value
|
|
|
|
When Redis server is running in protected mode it returns error message
more than 1024 bites long so first call of redis_sock_gets doesn't read whole
message and next call causes "protocol error, got '%c' as reply type byte"
exception.
|
|
|
|
* Failing test case when running LUA with bulk empty response
* Fix issue when parsing bulk array response from eval commands
* Added test for bulk LUA responses and changed condition
* Added multi tests and fixes in C code format
|
|
|
|
|
|
|
|
Changed zend hash function overrides to extern in the header, and
then defined them in library.c
Created a simple macro to suppress "set but not used" warnings,
which differ depending on build environment (php 5 vs php 7).
|