244 Commits

Author SHA1 Message Date
Remi Collet
4517d5f910 bump version 2025-10-03 06:03:36 -07:00
michael-grunder
52e2b8a788 Prepare for 6.2.0 release 2025-03-24 12:06:17 -07:00
michael-grunder
5419cc9c60 Prepare for 6.1.0 GA 2024-10-04 11:28:33 -07:00
Remi Collet
30c8f90cd9 bump version 2024-09-23 11:08:56 -07:00
michael-grunder
ff3d5e3e06 Prepare to tag 6.1.0RC1 2024-08-04 13:56:47 -07:00
Pavlo Yatsukhnenko
a0c8fcc589 Back to dev 2023-10-22 21:12:44 +03:00
Pavlo Yatsukhnenko
62cf943fec 6.0.2 2023-10-22 19:16:41 +03:00
Pavlo Yatsukhnenko
dbb4f24e12 6.0.1 2023-09-23 14:35:00 +03:00
Pavlo Yatsukhnenko
78449acc4c Back to dev 2023-09-09 14:33:16 +03:00
Pavlo Yatsukhnenko
e193c873de 6.0.0 2023-09-09 14:23:42 +03:00
Pavlo Yatsukhnenko
f9c1e2231c 6.0.0RC2 2023-08-20 11:20:24 +03:00
Pavlo Yatsukhnenko
00118ba317 6.0.0RC1 2023-08-01 09:50:33 +03:00
Pavlo Yatsukhnenko
d9cb594678 Fix redis_sock_read_multibulk_multi_reply_loop logic 2023-02-11 22:40:06 +02:00
Pavlo Yatsukhnenko
b344649b6f [WIP] Issue #1894
Add geosearch and geosearchstore commands.
2021-12-28 21:17:19 +02:00
Pavlo Yatsukhnenko
7cc15ca209 [WIP] Add stub-based arginfo for Redis 2021-09-02 14:02:44 +03:00
michael-grunder
4cb4cd0ee2 Separate compression and create utility methods
This commit splits compression and serialization into two distinct parts
and adds some utility functions so the user can compress/uncompress
or pack/unpack data explicily.

See #1939
2021-06-22 10:16:23 -07:00
Pavlo Yatsukhnenko
d5cf52cb8a [WIP] Issue #1894
Add Redis::zinter and Redis::zunion commands
2021-03-20 23:29:08 +02:00
Pavlo Yatsukhnenko
5d50fef961 [WIP] Issue #1894
Add Redis::zdiff and Redis::zdiffstore commands
2021-03-06 20:15:36 +02:00
Pavlo Yatsukhnenko
48d18fceda Merge pull request #1940 from phpredis/issue-1894-copy
[WIP] Issue #1894
2021-03-04 21:45:47 +02:00
Pavlo Yatsukhnenko
037dbbf93d [WIP] Issue #1894
Add Redis::copy command
2021-02-27 23:17:20 +02:00
Michael Grunder
e61ee1da45 Normalize Redis callback prototypes and stop typecasting. (#1935) 2021-02-25 10:03:53 -08:00
Pavlo Yatsukhnenko
f3ad8e20a3 [WIP] Issue #1894
Add Redis::lMove command.
2021-01-29 19:17:51 +02:00
Pavlo Yatsukhnenko
a534a2c36b [WIP] Issue #1894
Add Redis::zMscore command.
2021-01-17 20:44:04 +02:00
Pavlo Yatsukhnenko
6215347320 [WIP] Issue #1894
Add Redis::sMisMember command.
2020-12-21 23:12:21 +02:00
Pavlo Yatsukhnenko
2716cc0513 Update release information 2020-10-22 10:16:51 +03:00
michael-grunder
5d30e975ba Prepare for 5.3.1 2020-07-06 09:17:58 -07:00
michael-grunder
adbc12e526 Prepare for 5.3.0 GA 2020-06-30 15:16:39 -07:00
michael-grunder
5ceba7c6d9 Prepare for 5.3.0RC2 2020-06-26 13:00:12 -07:00
michael-grunder
dd3a11a8f7 Finalize 5.3.0RC changelog/package.xml 2020-06-25 11:11:02 -07: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
michael-grunder
bf27e6e3db Merge 5.2.0 into develop 2020-03-02 11:00:53 -08:00
Tyson Andre
0ef488fca7 Remove "PHP Version 5" section
package.xml has a minimum version of 7.0
PHP 8.0 will probably be out in around a year.
2020-01-13 18:41:03 -05:00
Pavlo Yatsukhnenko
6bdcd6dfba Back to dev 2019-10-31 22:50:23 +02:00
Pavlo Yatsukhnenko
8ee4abbc3f Dead code generic_unsubscribe_cmd 2019-10-11 11:37:21 -07:00
Remi Collet
943802272a cleanup TSRMLS_* usage 2019-07-09 15:26:44 +02:00
Pavlo Yatsukhnenko
97490a3064 Back to dev 2019-07-02 09:32:10 +03:00
Pavlo Yatsukhnenko
a81b4f2d64 Swap methods/aliases
For unknown reasons some methods named differently to Redis
commands (for example setTimeout instead of expire).
This change aligns naming and allows easly remove aliases in future if
we will decide to deprecate them.
2019-06-07 11:05:49 +03:00
michael-grunder
f89e941a88 Change ZPOP* return type and implement blocking variants
This commit updates ZPOPMIN/ZPOPMAX to return the same format that
zRange WITHSCORES and zRangeByScore WITHSCORES does.

In addition the blocking variants BZPOPMIN and BZPOPMAX are implemented.
2019-02-18 20:00:08 -08:00
Marin Bezhanov
46f035615e Add ZPOPMAX and ZPOPMIN support 2019-02-17 13:05:58 +02:00
michael-grunder
22d81a94ee Implement GEORADIUS_RO and GEORADIUSBYMEMBER_RO
This addresses #1502, #1487
2019-02-13 13:07:35 -08:00
michael-grunder
b8118b0991 4.2.0 2018-11-17 16:16:39 -08:00
michael-grunder
5e720d8d10 4.2.0RC3 2018-11-08 12:50:26 -08:00
Pavlo Yatsukhnenko
c886366c6f 4.2.0RC2 2018-10-26 11:11:37 +03:00
Pavlo Yatsukhnenko
e26fdd4353 4.2.0RC1 2018-10-11 23:10:33 +03:00
Michael Grunder
2c9e057236 Streams (#1413)
Streams API
2018-09-29 11:59:01 -07:00
Pavlo Yatsukhnenko
300c72510c Merge branch 'session-locking' into develop
Conflicts:
	redis_session.c
	tests/RedisTest.php
2018-03-24 17:45:51 +02:00
michael-grunder
625fadeb51 Merge branch 'swapdb-command' into develop 2018-01-18 17:38:09 -08:00
michael-grunder
84f1f28ba2 Implement SWAPDB command 2018-01-18 09:04:25 -08: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
b63d79958e Refactored session locking logic
* Use a precalculated SHA1 of our lock release script and first
  attempt to EVALSHA the script while falling back to EVAL if that
  fails.  This means that the very first time we attempt to release
  a lock after server restart or script cache will fail but subsequent
  attempts will succeed as Redis will cache the script automatically.

* Reorganized the new locking prototypes by making them static and removing
  them from the header file as they never need to be called from outside
  of redis_session.c anyway.  Did the same for the lock_secret structure
  as we don't need to expose the structure externally.

* Consolidated allocation and deallocation of lock pointers such that our
  redis_pool "constructor" and "desctructor" handle that as well.

* Updating how we release the lock means we no longer need the new REDIS_G
  module globals, so those were removed.

* HOST_NAME_MAX doesn't exist on OSX so added some preprocessor logic around that

Still a WIP as it needs more testing as I'm sure I broke *something* :-)
2017-11-10 13:46:48 -08:00