41 Commits

Author SHA1 Message Date
Pavlo Yatsukhnenko 37ed3f0796 Use zend_string in ra_find_node_by_name 2021-10-05 14:29:41 -07:00
Jan-E 270b4db821 PHP 8 compatibility Windows 2021-01-31 15:54:07 -08:00
Michael Grunder a311cc4ec3 Support for Redis 6 ACLs (#1791)
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).
2020-06-24 17:00:01 -07:00
Remi Collet 943802272a cleanup TSRMLS_* usage 2019-07-09 15:26:44 +02:00
Pavlo Yatsukhnenko 5053a9e7e4 RedisArray auth.
Issue #1508
2019-03-19 11:10:08 -07:00
Pavlo Yatsukhnenko 0d2dd169fa Use zend_string for storing key hashing algorithm 2019-03-19 11:09:26 -07:00
Pavlo Yatsukhnenko 850027ffd3 Different key hashing algorithms from hash extension. 2019-01-03 16:17:20 +02:00
Pavlo Yatsukhnenko bb32e6f3a0 Implement consistent hashing algorithm for RedisArray 2018-12-22 15:31:51 +02:00
Pavlo Yatsukhnenko 47d3722dec Remove ra_find_key + use return_value instead of stack allocated z_tmp inra_forward_call 2017-04-27 17:46:49 +03:00
Pavlo Yatsukhnenko b56dc49eec Processing read_timeout parameter + update docs 2017-04-11 15:22:46 +03:00
Pavlo Yatsukhnenko 8fa85afa7a redis_object 2017-02-10 17:41:03 +02:00
michael-grunder 69c6c04eec Added RedisArray and RedisCluster to config.w32 and more win32 fixes
Manually picked from: 6c377eee18
2015-05-05 15:22:40 -07:00
Anatol Belski 4d2533706a Merge remote-tracking branch 'vostok4/master'
Conflicts:
	CREDITS
	README.markdown
	config.w32
	library.c
	library.h
	package.xml
	redis.c
	redis_array.c
	redis_array.h
	redis_array_impl.c
	redis_array_impl.h
	tests/TestRedis.php
2014-07-01 16:45:09 +02:00
Anatol Belski 6c377eee18 added redis array stuff to win part done some fixes to it 2014-07-01 12:19:01 +02:00
vostok4 9c12c40a66 Merge nicolasff:b9a16b5ad5 in, fixing for Win32
Now we should be up to master with upstream for an easier merge.
2014-04-09 11:14:45 +02:00
Mike 6f5e47cec3 add support for 'connect_timeout' option for redis arrays
Conflicts:
	redis_array.c
	redis_array_impl.c
	redis_array_impl.h
2014-02-23 11:50:34 -08:00
vostok4 978fbcf6fc Further fixes for building on VC9 Win32, C89 compliance
Include win32/php_stdint.h on Win32 (fixes compilation on VC9)
Change C++ comments to C89 style (to adhere to PHP project)
2013-10-18 14:37:06 +02:00
michael-grunder f97c8433d5 Integrating mobli's lazy connect and retry interval 2013-08-11 11:31:23 -07:00
michael-grunder 8443769dc3 Merge remote-tracking branch 'mobli/develop' into feature/mobli_ra_changes
Conflicts:
	redis_array.c
	redis_array_impl.c
	redis_array_impl.h
2013-08-11 11:29:29 -07:00
michael-grunder dcbeae7599 Persistent connections with RedisArray
Re-integrating the now old ra-performance branch into a git-flow
branch.  I could have merged it but this was easier with so few
changes
2013-08-11 08:54:59 -07:00
Emmanuel Merali acd3245456 Added lazy_connect option to RedisArray
Added an option to let each RedisArray connection connect lazily to
their respective server. This is useful then working with a redis
cluster composed of many shards which are not necessarily in use all at
once.
2013-02-25 00:38:47 +02:00
Emmanuel Merali 6d3c9990a5 Merged changes from @mobli
New select DB command to RedisArray - Added retry delay on reconnect

Added the possibility to delay each reconnection attempt, including a
random factor to prevent several or many concurrent connections from
trying to reconnect at the same time.
Added the select command to RedisArray to select a DB on every
connections in one instruction.
Also, fixed a compiler warning:
redis_array_impl.c:1115:15: warning: incompatible pointer types
assigning to 'zval **' (aka 'struct _zval_struct **') from 'zval
**(*)[2]' [-Wincompatible-pointer-types]

Conflicts:
	common.h
2013-02-22 09:35:22 -08:00
Emmanuel Merali d4c7f64131 New select DB command to RedisArray - Added retry delay on reconnect
Added the possibility to delay each reconnection attempt, including a
random factor to prevent several or many concurrent connections from
trying to reconnect at the same time.
Added the select command to RedisArray to select a DB on every
connections in one instruction.
Also, fixed a compiler warning:
redis_array_impl.c:1115:15: warning: incompatible pointer types
assigning to 'zval **' (aka 'struct _zval_struct **') from 'zval
**(*)[2]' [-Wincompatible-pointer-types]
2013-01-29 11:47:36 +02:00
Emmanuel Merali 9ba000c54c Revert "Retry delay - selectDB on array"
This reverts commit 3fb643211e.
2013-01-29 11:40:06 +02:00
Emmanuel Merali 3fb643211e Retry delay - selectDB on array
Added the possibility to delay each reconnection attempt, including a
random factor to prevent several or many concurrent connections from
trying to reconnect at the same time.
Added the select command to RedisArray to select a DB on every
connections in one instruction.
2013-01-21 18:10:16 +02:00
Nicolas Favre-Felix 6dc3ad6cb3 Fix RedisArray::_rehash to support closures
* Add "f" parameter in _rehash()
* Call object with new method
* Add rehash test with closure
2012-09-10 00:29:44 +01:00
Nicolas Favre-Felix 8f5783cb4c Reordered arguments to ra_index_multi(). 2011-12-11 22:15:58 +00:00
Emmanuel Merali 2f58629e0c External key distributor
Added possibility to specify a user land key distributor function.
2011-12-11 19:19:24 +02:00
Emmanuel Merali b408f7aa06 Allow use of pipeline in RedisArray 2011-12-08 01:52:21 +02:00
Nicolas Favre-Felix 7781557bb1 Added missing UNWATCH.
Possibly resolves GitHub issue #86 (TBC).
2011-11-27 19:57:39 +00:00
Nicolas Favre-Felix 1ce8bcc534 Added missing DISCARD in RedisArray mode.
Also added a unit test covering this feature.
This commit fixes GitHub issue #87.
2011-11-27 19:52:03 +00:00
Nicolas Favre-Felix 62862cd920 Added missing index on MSET. 2011-09-13 23:23:45 +01:00
Nicolas Favre-Felix 38f2992576 Changed DEL to use index when available. 2011-09-13 22:59:14 +01:00
Nicolas Favre-Felix 732366a739 Multi/exec, per node. 2011-09-04 15:31:34 +01:00
Nicolas Favre-Felix 68abdf4282 Auto rehash keys on read miss + config.ini 2011-09-04 14:30:37 +01:00
Nicolas Favre-Felix 2b9a7d96d2 Added TSRMLS_CC/DC where needed. 2011-08-28 15:02:48 +01:00
Nicolas Favre-Felix 5dffb96bd7 Added INI loader 2011-08-28 14:11:47 +01:00
Nicolas Favre-Felix 4dcae80fbf Rehashing callback 2011-08-28 11:32:29 +01:00
Nicolas Favre-Felix 18637bf89d Update target index when rehashing. 2011-08-19 16:01:48 +01:00
Nicolas Favre-Felix 95219ac284 Started resharding and fixed memory corruption issue. 2011-08-19 14:12:17 +01:00
Nicolas Favre-Felix 3564d8fb2f Refactoring 2011-08-19 13:18:59 +01:00