52 Commits

Author SHA1 Message Date
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
Nicolas Favre-Felix 7e0fdd19d6 Set index only for write commands. 2011-08-19 11:40:41 +01:00
Nicolas Favre-Felix 737266929f __call now wrapped in MULTI/EXEC 2011-08-19 10:25:17 +01:00
Nicolas Favre-Felix 1e5ab1f7f3 Loaded second ring 2011-08-19 09:50:05 +01:00
Nicolas Favre-Felix bedaf085bb Added DEL, + variadic DEL. 2011-08-18 17:58:09 +01:00
Nicolas Favre-Felix 4c4a2be712 Added _function(). 2011-08-18 17:32:24 +01:00
Nicolas Favre-Felix 7d7b41bfc3 Added MSET. 2011-08-18 17:28:26 +01:00
Nicolas Favre-Felix e708d98e37 First working version of MGET. 2011-08-18 16:27:03 +01:00
Nicolas Favre-Felix dc57c5ed80 Added info() 2011-08-18 15:34:55 +01:00
Nicolas Favre-Felix 012c062628 Added _target() method. 2011-08-18 15:05:52 +01:00
Nicolas Favre-Felix 9d05c88cc8 Added _hosts() method. 2011-08-18 14:59:04 +01:00
Nicolas Favre-Felix fe416dd123 Added support for user-defined key extraction functions 2011-08-18 14:52:17 +01:00
Nicolas Favre-Felix 40ee8ae2bc Extract {relevant} part of the key. 2011-08-18 14:01:24 +01:00
Nicolas Favre-Felix 12313029ee Replaced RedisSock with Redis zval. 2011-08-18 13:35:57 +01:00
Nicolas Favre-Felix a168ff0919 Linked ra to PHP RedisArray object 2011-08-18 11:51:40 +01:00