Commit Graph

66 Commits

Author SHA1 Message Date
Remi Collet
3675f442e4 mark auth param as sensitive for PHP 8.2
refactor MINIT (split in each class sources file)
use @generate-class-entries in stub files
add RedisException and RedisClusterException in stub files
2022-07-18 13:45:45 +02:00
Pavlo Yatsukhnenko
c8ae539523 Use stub/arginfo for RedisArray 2021-08-26 09:53:51 +03:00
Jan-E
5b3771a0b2 PHP 8 compatibility Windows 2020-09-22 11:56:59 +02:00
Pavlo Yatsukhnenko
35372a1f64 Authenticate in redis_sock_server_open 2020-03-30 22:34:12 +03:00
Remi Collet
d6fc5c7348 use uint32_t for call_user_function 2019-07-18 10:41:41 +02:00
Remi Collet
943802272a cleanup TSRMLS_* usage 2019-07-09 15:26:44 +02:00
michael-grunder
2761c607e2 Merge remote-tracking branch 'cthulhu/issue.1448-require_php7' into issue.1448-require_php7 2019-03-19 11:30:14 -07:00
Pavlo Yatsukhnenko
112c77e3a1 Issue #1508
Wrap all calls of `call_user_function` into `ra_call_user_function`
where AUTH command sended before function call.
2019-03-19 11:28:00 -07:00
Pavlo Yatsukhnenko
0d2dd169fa Use zend_string for storing key hashing algorithm 2019-03-19 11:09:26 -07:00
michael-grunder
f9928642b5 PHP 5 is dead, long live PHP 7
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
2019-01-26 20:57:16 -08:00
Pavlo Yatsukhnenko
850027ffd3 Different key hashing algorithms from hash extension. 2019-01-03 16:17:20 +02:00
Pavlo Yatsukhnenko
71922bf1dd Add RedisArray::_continuum method 2018-12-22 15:31:51 +02:00
Pavlo Yatsukhnenko
bb32e6f3a0 Implement consistent hashing algorithm for RedisArray 2018-12-22 15:31:51 +02:00
Pavlo Yatsukhnenko
602740d35a Use zend_string for storing RedisArray hosts 2018-12-19 10:16:54 +02:00
michael-grunder
9e65c42931 Implement UNLINK command
This commit implements UNLINK for Redis, RedisCluster, and RedisArray.
To a client library UNLINK behaves identically to DEL so we can use the
same handlers for both.
2018-01-17 09:36:38 -08:00
michael-grunder
345fc7fc9f Destroy all tabs :-) 2017-09-28 15:44:18 -07:00
Pavlo Yatsukhnenko
a56ed7f9f9 Change type of RedisArray pure_cmds to HashTable 2017-08-04 13:56:48 +03:00
Pavlo Yatsukhnenko
43e1e0faff refactoring (#1155)
Fix memory leak in `redis_long_response` when LONG_MAX overflow.
Add return -1 in `redis_read_reply_type` when `php_stream_getc` returns EOF.
Code formatting in `PHP_METHOD(Redis, exec)`.
2017-04-21 00:30:37 +03:00
Pavlo Yatsukhnenko
b56dc49eec Processing read_timeout parameter + update docs 2017-04-11 15:22:46 +03:00
Pavlo Yatsukhnenko
f81694e69c Use crc32 table from PHP distro (#1144)
* Use crc32 table from PHP distro

* Remove rcrc32 function
2017-04-03 21:55:05 +03:00
Pavlo Yatsukhnenko
a765f8d4b5 redis_array_object 2017-02-08 23:13:28 +02:00
Pavlo Yatsukhnenko
5f15ce222f WIP: php7 compatibility 2016-11-09 21:03:36 +02:00
Pavlo Yatsukhnenko
04a7327af8 WIP: php7 compatibility 2016-11-08 20:11:51 +02:00
Pavlo Yatsukhnenko
33a8843c44 RedisArray refactoring 2016-10-10 22:35:34 +03:00
Pavlo Yatsukhnenko
910dd952bf WIP: php7 compatibility
Rename zend_rsrc_list_entry to zend_resource
2016-09-28 18:30:17 +03:00
michael-grunder
0f1f5f444f Merge branch 'hotfix/win32-fixes' into develop
Conflicts:
	redis.c
2014-07-06 11:04:55 -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
7194e31fe9 fix stdint usage 2014-07-01 11:50:36 +02:00
michael-grunder
52b3c95dab SAVE and BGSAVE are distrubte commands
SAVE and BGSAVE need to be passed through multihost_distribute

Refs #472
2014-05-15 12:11:16 -07: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
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
Nicolas Favre-Felix
f9ef6efc7f Add FLUSHALL to RedisArray
GitHub issue #334
2013-05-02 19:59:27 +01:00
Nicolas Favre-Felix
5660e10c62 Add FLUSHDB to RedisArray
GitHub issue #334
2013-05-02 19:57:49 +01: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
michael-grunder
889b2f2e9c RedisArray fixes
I created this branch to go through issues raised by @seansawyer regarding
RedisArray functionality.  The first commit addresses issue #205 (KEYS)
command.  More investigation is required for the two other issues raised.
2012-06-22 17:07:34 -07:00
Nicolas Favre-Felix
70371fa39d s/_specified/_instance 2011-12-13 21:37:19 +00:00
Emmanuel Merali
5bc6a4c842 Added retrieval of specific instance form Array
Added the possibility to retrieve a specific Redis instance from the
array. For instance:
$r = $ra->_specified($ra->_target($key));
2011-12-12 19:05:59 +02: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
f0a2dc0ec3 Renamed crc32 to rcrc32
The function crc32 was not being called so I renamed it to make sure
that it's being called
2011-12-08 13:42:54 +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
ecf0e8eeb8 Fixed duplicate symbol (GitHub issue #50) 2011-09-20 19:47:26 +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
d6ad27bd06 Added getOption/setOption 2011-08-28 14:19:01 +01:00
Nicolas Favre-Felix
8ee787d19b Added distributed PING 2011-08-28 11:36:42 +01:00
Nicolas Favre-Felix
3564d8fb2f Refactoring 2011-08-19 13:18:59 +01:00
Nicolas Favre-Felix
4fc2387b31 Added bool index parameter to RedisArray constructor 2011-08-19 13:04:37 +01:00