16 Commits

Author SHA1 Message Date
michael-grunder 2c5ef19257 Introduce new RedisCmd based command construction
* Introduce a new `RedisCmd` struct to dynamically append RESP arguments
  such that we don't have to precalculate the number of arguments the
  command will have up front.

  Additionally the new `RedisCmd allows both a `void *` context pointer
  but also can attach a `void (*ctx_dtor)(void*)` destructor so we are
  still able to clean up any allocated context when commands fail.

  This moves the context cleanup out of every individual reply handler
  and into the generic processing wrappers.

* Create a small group of `resp_str` helper functions for lower level
  concatination of RESP protocol data over the wire.

* Lots of small modernization of the codebase such as using
  `zend_string*` instead of (`char *`, `size_t`) pairs.

* Greatly simplify `crosslot` handling logic
2026-06-04 12:16:35 -07:00
Nathaniel Braun 18706d9271 Add support for exponential backoff on retry 2021-07-20 09:21:13 +00:00
Jan Ehrhardt 17ddbe76a2 Update config,w32 with sentinel sources
The sentinel sources were added to config.m4 in https://github.com/phpredis/phpredis/commit/c94e28f1ebabdfceb722ad78eff75ce4fc57f5a3#diff-788d457a20b110cc38e571dec9ddc68c

They should be added to config.w32 as well.
2020-02-10 18:11:55 -08:00
Jan-E b718ce0828 Remove second redis_session.c, fix 'too many rules' 2016-06-03 12:57:16 -07:00
Jan-E 4e2223c02f Fix sources in config.w32 2016-06-03 12:57:09 -07:00
Jan-E b249024ae7 Fix config,w32
The 'no' in line 3 is needed to make the extension shared on a snapshot build. The omission at line 25 was really curious.
2016-06-03 12:56:48 -07:00
michael-grunder fb0597992a Merge remote 2015-05-07 16:30:11 -07:00
Anatol Belski df1811ed3b reworked config.w32
Conflicts:
	config.w32
2015-05-05 15:24:35 -07: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 e223916eb4 cleanup config.w32 2014-07-04 10:05:54 +02: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 48138096da reworked config.w32 2014-07-01 14:00:36 +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
Anatol Belski 3aa3c2d2f1 split the igbinary stuff into a separate option 2014-07-01 11:28:57 +02:00
vostok4 b7e8b3b64e Fix compilation errors on Win32 with VC11
This brings the W32 compilation fixes done by @char101 up to date and
allows building of php_redis.dll with VC11 on Win32 (allows for a php5.5
version).
2013-10-10 13:07:01 +02:00
Charles c9a6ce2cf4 Build fix for win32 (phpredis 2.1.3) 2011-06-30 21:17:23 +07:00