Skip to content
Open
Changes from 1 commit
Commits
Show all changes
317 commits
Select commit Hold shift + click to select a range
6673b5b
SRANDMEMBER can return any type because of serialization.
michael-grunder Jul 14, 2024
6ea5b3e
Fix argument count issue in HSET with associative array, update metho…
crocodele Jul 17, 2024
ff3d5e3
Prepare to tag 6.1.0RC1
michael-grunder Jul 30, 2024
e9474b8
add missing SessionHelpers.php in pecl package
remicollet Aug 5, 2024
8b51942
Raise minimum supported PHP version to 7.4
michael-grunder Aug 5, 2024
37cebdd
cleanup code for unsupported versions
remicollet Aug 5, 2024
40c8973
Remove erroneously duplicated changelog entries.
michael-grunder Aug 5, 2024
9d38050
Upload artifact v2 is deprecated
michael-grunder Sep 19, 2024
a75a7e5
Fix SIGABRT in PHP 8.4
michael-grunder Sep 19, 2024
b59e35a
Added a composer.json to enable support for PIE
asgrim Sep 18, 2024
9bd2aaa
Prepare for 6.1.0RC2
michael-grunder Sep 23, 2024
30c8f90
bump version
remicollet Sep 23, 2024
bff3a22
fix implicit nullable (8.4)
remicollet Sep 23, 2024
909c5cc
Finalize 6.1.0RC2 changelog for completeness. (#2554)
michael-grunder Sep 23, 2024
0bae4bb
Fix urls
VincentLanglet Sep 23, 2024
cc1be32
fix 2 tests with redis 6.2
remicollet Sep 24, 2024
5f241d8
Merge pull request #2555 from phpredis/issue-redis62
remicollet Sep 24, 2024
f89d4d8
Windows CI: update setup-php-sdk to v0.10 and enable caching
cmb69 Sep 30, 2024
52e69ed
improve package summary and description (#2558)
remicollet Oct 3, 2024
5419cc9
Prepare for 6.1.0 GA
michael-grunder Oct 3, 2024
a53bf38
Merge pull request #2557 from cmb69/cmb/win-ci
yatsukhnenko Oct 8, 2024
985b031
KeyDB doesn't have a noble release yet.
michael-grunder Oct 14, 2024
eb66fc9
Pin ubuntu version for KeyDB
michael-grunder Oct 14, 2024
085d61e
Create a strncmp wrapper
michael-grunder Oct 14, 2024
0fe45d2
Fix XAUTOCLAIM argc when sending COUNT
michael-grunder Oct 16, 2024
8144db3
better documentation for the $tlsOptions parameter of RedisCluster
JacobBrownAustin Nov 4, 2024
4cd3f59
Implement KeyDB's EXPIREMEMBER[AT] commands
michael-grunder Nov 15, 2024
6097e7b
Add PHP 8.4 to CI
yatsukhnenko Nov 25, 2024
b665925
Use smart str for constructing pipeline cmd
JakubOnderka Nov 23, 2024
99beb92
Initialize arrays with known size
JakubOnderka Nov 21, 2024
64da891
Do not allocate empty string or string with one character
JakubOnderka Nov 21, 2024
60b5a88
Use immutable empty array in Redis::exec
JakubOnderka Nov 22, 2024
3a2f3f4
Use immutable empty array in Redis::hKeys
JakubOnderka Nov 22, 2024
83a1965
Faster parameter parsing in redis_key_cmd and redis_key_long_val_cmd
JakubOnderka Nov 22, 2024
400503b
Optimise method array_zip_values_and_scores
JakubOnderka Nov 22, 2024
426de2b
Test for empty pipeline and multi
JakubOnderka Nov 24, 2024
5156e03
If no command is issued in multi mode, return immutable empty array
JakubOnderka Nov 24, 2024
2a2f908
Optimise constructing Redis command string
JakubOnderka Nov 25, 2024
f690647
Use zval_get_tmp_string method that is faster when provided zval is s…
JakubOnderka Nov 23, 2024
99650e1
Avoid unnecessary allocation in redis_key_varval_cmd
JakubOnderka Nov 24, 2024
4082dd0
Avoid unnecessary allocation in redis_hdel_cmd
JakubOnderka Nov 24, 2024
aba0993
Avoid unnecessary allocation in redis_hset_cmd
JakubOnderka Nov 24, 2024
2434ba2
Optimise HMGET method
JakubOnderka Nov 24, 2024
7895636
Remove unused redis_debug_response method from library.c
JakubOnderka Nov 27, 2024
571ffbc
Switch pipeline_cmd from smart_str to smart_string
JakubOnderka Dec 1, 2024
be38856
Reuse redis_sock_append_auth method
JakubOnderka Dec 1, 2024
a551fdc
Switch from linked list to growing array for reply callbacks
JakubOnderka Dec 5, 2024
42a4276
Use defines for callback growth + sanity check
michael-grunder Dec 9, 2024
f68544f
Refactor and avoid allocation in rawcommand method
JakubOnderka Dec 9, 2024
138d07b
Print cursor as unsigned 64 bit integer
bentleyo Dec 16, 2024
35c5988
Formatting improvements
bentleyo Dec 17, 2024
044b303
Reduce buffer size for signed integer, strlen(-9223372036854775808) =…
bentleyo Dec 17, 2024
43e6cab
Fix potential NULL dereference
peter15914 Jan 1, 2025
5cad207
Fix phpdoc type of '$pattern'
zeek0x Dec 23, 2024
9e504ed
Set priority to 60
yatsukhnenko Jan 2, 2025
3f8dba6
Regnerate stub hash
michael-grunder Jan 13, 2025
faa4bc2
Don't cast a uint64_t to a long.
michael-grunder Jan 13, 2025
a2eef77
Implement Valkey >= 8.1 IFEQ set option
michael-grunder Jan 19, 2025
c7b8784
Invalidate slot cache on failed cluster connections
jkenn99 Dec 19, 2024
a10bca3
Update codeql to v3
yatsukhnenko Jan 31, 2025
41e1141
Merge pull request #2618 from phpredis/codeql-v3
yatsukhnenko Feb 1, 2025
f9ce942
Introduce `Redis::OPT_PACK_IGNORE_NUMBERS` option.
michael-grunder Jan 26, 2025
29e5cf0
Minor refactor of ignroe numbers option
michael-grunder Jan 28, 2025
abb0f6c
Add details to the option doc block
michael-grunder Feb 5, 2025
9036ffc
Add getWithMeta method
yatsukhnenko Jan 30, 2025
1b72964
Update CHANGELOG.md
yatsukhnenko Feb 19, 2025
807f806
Reorganize tests
yatsukhnenko Feb 25, 2025
36ab585
Merge pull request #2627 from phpredis/feature/with-meta
yatsukhnenko Feb 26, 2025
d342e4a
Implement `GETDEL` for `RedisCluster`
michael-grunder Mar 6, 2025
e73130f
Fix error length calculation + UB sanity check.
michael-grunder Mar 10, 2025
f73f5fc
Fix arguments order for `SET` command
yatsukhnenko Mar 16, 2025
056c2db
Introduce `Redis::serverName` and `Redis::serverVersion` methods
yatsukhnenko Mar 16, 2025
cbaf095
Allow calling methods only in atomic mode
yatsukhnenko Mar 17, 2025
fa3eb00
Add tests for `serverName()` and `serverVersion()`
michael-grunder Mar 20, 2025
300c5fb
Make execHello protected
michael-grunder Mar 21, 2025
52e2b8a
Prepare for 6.2.0 release
michael-grunder Mar 17, 2025
3828c92
cleanup session temp file (#2641)
remicollet Mar 26, 2025
4f6a3ed
New option 'database' for Redis class constructor (#2597)
JakubOnderka Mar 27, 2025
0445e68
Refactor `getWithMeta` logic (#2643)
michael-grunder Mar 31, 2025
60ca48f
Redis Cluster does not have `SELECT`. (#2644)
michael-grunder Apr 1, 2025
0a85bd8
Simplify redis_unpack method calling
JakubOnderka Dec 4, 2024
5208818
We can use `zval_get_tmp_string` here
michael-grunder Apr 2, 2025
614b86e
New macros REDIS_RESPONSE_ERROR and REDIS_RETURN_ZVAL
JakubOnderka Nov 26, 2024
3c64b33
Fix SIGABRT in PHP 8.4 with RedisArray
Novynn Apr 8, 2025
bfbab89
Broaden return type for Redis::hGetAll
mgiuffrida Apr 20, 2025
b7a97e5
Update README.md
AkameOuO Apr 18, 2025
b48aa0d
Fix an unused variable warning
michael-grunder Apr 20, 2025
593ba01
Check for `dragonfly_version` in `HELLO` response
michael-grunder May 4, 2025
7350768
Implement several hash expiration commands
michael-grunder May 6, 2025
8014000
Attempt to fix flaky GitHub CI tests.
michael-grunder May 7, 2025
152fdda
Fix double -> int truncation warning
michael-grunder May 7, 2025
8dada17
Add an INI setting returning 5.x legacy behavior -- readonly session …
arokettu Jul 8, 2025
ce5b0fa
Implement `HGETEX`, `HSETEX`, `HGETDEL`, and refactor `HMGET` (#2667)
michael-grunder Jul 16, 2025
75acbb0
Remove unused macros + simplify some logic
michael-grunder Jul 17, 2025
2acab39
Fix the echo liveness check when in sentinel mode.
michael-grunder Jul 17, 2025
7805da7
Fix HSetEx expiry argument handling
yatsukhnenko Jul 24, 2025
6b2f088
Fix hset fields handling
yatsukhnenko Jul 24, 2025
a6922a0
Update redis_commands.c
yatsukhnenko Jul 24, 2025
340f23b
Fix an off-by-one length calculation error.
michael-grunder Jul 27, 2025
ca80ee0
Fix passing NULL for hash expiry argument
michael-grunder Jul 28, 2025
1e6f547
Fix compiling with PHP 8.5.0 alpha3 and newer
wyattoday Jul 30, 2025
d18db84
Link to the correct header
wyattoday Jul 30, 2025
9cae781
Make changes requested by @yatsukhnenko
wyattoday Jul 30, 2025
286fa63
Implement VADD command
michael-grunder Jul 29, 2025
d1d6900
Implement VSIM command
michael-grunder Jul 30, 2025
334937c
Add PHP 8.5 to CI
yatsukhnenko Jul 30, 2025
f61e8cd
Fix `RedisCluster` segfault
michael-grunder Aug 4, 2025
6e5faf4
Refactor `EVAL[SHA]` command and add a regression test
michael-grunder Aug 5, 2025
b83981a
Rework `HEXPIRE` test inclusion + bump Valkey (#2684)
michael-grunder Aug 6, 2025
8be2306
Fix several issues surfaced by `gcc -fanzlyze`
michael-grunder Aug 14, 2025
d564e8c
Fix dead assignment
michael-grunder Aug 14, 2025
1db3908
Rework `CLUSTER_PROCESS_CMD` to use an underlying function
michael-grunder Aug 14, 2025
b90e27f
Rework `CLUSTER_PROCESS_KW_CMD` to be a small wrapper macro + function
michael-grunder Aug 14, 2025
f880e1f
Make `CLUSTER_ENQUEUE_RESPONSE` a static function
michael-grunder Aug 14, 2025
fae89fa
Remove dead macro `CLUSTER_BUILD_CMD`
michael-grunder Aug 15, 2025
b004051
Rewowrk `CLUSTER_FREE_QUEUE` as a static function
michael-grunder Aug 15, 2025
c3a7163
Rework `CLUSTER_RESET_MULTI` to be a static function
michael-grunder Aug 15, 2025
601ebbf
Rework `REDIS_PROCESS_CMD` into a static function
michael-grunder Aug 15, 2025
950d2bc
Rework `REDIS_PROCESS_KW_CMD` as a function
michael-grunder Aug 16, 2025
7c953d4
Remove dead legacy code.
michael-grunder Aug 18, 2025
8f0931b
Rework `REDIS_PROCESS_REQUEST` to be a function.
michael-grunder Aug 18, 2025
58e1a04
Remove wrapper macro which hides branching logic
michael-grunder Aug 19, 2025
9802fc0
Rework `REDIS_SAVE_CALLBACK` to be a function.
michael-grunder Aug 19, 2025
7769194
Change `int` flags to `zend_bool` since we only use them as booleans
michael-grunder Aug 19, 2025
03837f0
Remove pointless casts
michael-grunder Aug 19, 2025
a062155
Reduce to < 80 chars
michael-grunder Aug 20, 2025
f4ec5e2
Use ZEND_STRL instead of literal, len
michael-grunder Aug 20, 2025
8685c49
Use continue not break if we get a NULL node
michael-grunder Aug 21, 2025
b0ba827
Fixing segfault in cluster_update_slot
JacobBrownAustin Sep 23, 2024
b1b0c19
Implement `DELIFEQ` command
michael-grunder Aug 23, 2025
8d369f4
Implement `GEOSEARCH[STORE]` `BYPOLYGON`.
michael-grunder Aug 23, 2025
659dc76
Refactor `redis_replicaof_cmd`
michael-grunder Aug 27, 2025
0ed0fc0
Add `Redis::REDIS_VECTORSET` type.
michael-grunder Aug 27, 2025
0fda9f2
Implement `VCARD`, `VDIM`, and `VINFO`
michael-grunder Jul 31, 2025
8f8a49b
Tests for `VCARD`, `VDIM`, and `VINFO`.
michael-grunder Jul 31, 2025
96378b7
Implement `VEMB` and slightly rework VINFO
michael-grunder Jul 31, 2025
1deca62
Implement `VRANDMEMBER`
michael-grunder Jul 31, 2025
dc91631
Implement `VREM` command
michael-grunder Jul 31, 2025
bbae745
Add a test for `VREM`
michael-grunder Jul 31, 2025
5fe1884
Add a test for `VRANDMEMBER`
michael-grunder Jul 31, 2025
65927b5
We can use `redis_kv_cmd` instead of a specific vrem command.
michael-grunder Jul 31, 2025
92716ed
Implement `VSETATTR` command
michael-grunder Aug 1, 2025
ea11d62
Test for `VSETATTR`
michael-grunder Aug 1, 2025
7f9b1f4
Implement `VLINKS` command
michael-grunder Aug 1, 2025
d80b725
Implement `VGETATTR` command
michael-grunder Aug 1, 2025
0b4b4ed
Add a test for `VGETATTR`
michael-grunder Aug 3, 2025
c4b2ea6
Fix `VEMB` reply handling in `RedisCluster`
michael-grunder Aug 3, 2025
92dd256
Implement `VISMEMBER` command.
michael-grunder Aug 29, 2025
b8de91c
Fix errors and a warning
michael-grunder Aug 29, 2025
38115de
Fix `VISMEMBER` unit test
michael-grunder Aug 29, 2025
92137ff
We actually do return `bool` in sismember so do the same here
michael-grunder Aug 30, 2025
d0b0c5c
Fix typo
michael-grunder Sep 1, 2025
25e6d5f
fix typo (s/sees/seeds/)
xabbuh Sep 7, 2025
35df8ad
Attempt to fix an overflow bug in ZADD on Windows
michael-grunder Sep 3, 2025
22a2914
Add a regression test
michael-grunder Sep 3, 2025
b3da0f3
Remove a "bad argument" assertion for `testWait`
michael-grunder Sep 10, 2025
f24814a
Fix geosearchstore bypolygon test
michael-grunder Sep 10, 2025
1d07c3a
Add a `.github/copilot-instructions.md` file
michael-grunder Sep 10, 2025
f9f609e
Refine parameter descriptions and examples in README
joshtrichards Sep 12, 2025
e9e9e49
Add `maxRetries` to `redis_sock_configure`.
michael-grunder Sep 12, 2025
09cd4c5
Clean up README.md: fix typos, spelling, and grammar errors (#2713)
Copilot Sep 13, 2025
c007603
Improve install instructions
remicollet Sep 18, 2025
0ac0147
Improve wording in README about project support
tillkruss Sep 15, 2025
1d662f5
Fix markdown headlines (#2718)
tillkruss Sep 25, 2025
2066cfa
document PECL configure options
tillkruss Sep 26, 2025
7a69d73
Update sponsorship (#2719)
tillkruss Oct 2, 2025
6ce3bd5
Implement `VRANGE` command and add a test
michael-grunder Sep 18, 2025
2e5e47d
Add 6.3.0RC1 section to CHANGELOG.md
Copilot Sep 30, 2025
3822a11
Consolidate several similar commits + recategorize
michael-grunder Oct 1, 2025
d01614b
Add a release blurb.
michael-grunder Oct 2, 2025
0fff135
Add `VRANGE` commit to CHANGELOG.md
michael-grunder Oct 2, 2025
bddb030
Minor changelog.md fix
michael-grunder Oct 2, 2025
f7e6981
Normalize package.xml with an automatic formatter
michael-grunder Oct 3, 2025
6ca84b6
Update `package.xml` for the 6.3.0RC1 release.
michael-grunder Oct 3, 2025
4517d5f
bump version
remicollet Oct 3, 2025
f5db01b
fix testXGrous expectation for change in redis 8.2.2
remicollet Oct 3, 2025
5ebb853
Fix segfault during Redis Cluster failover
rlerdorf Oct 1, 2025
5474752
Introduce "must use attribute"
michael-grunder Oct 6, 2025
9dfc377
Update CHANGELOG.md
michael-grunder Oct 6, 2025
7d3b2e4
Add `hGetWithMeta` method
yatsukhnenko Oct 6, 2025
2f2d811
Update CHANGELOG and package.xml
michael-grunder Oct 6, 2025
0abe2c2
Fix `HMGET` where hash fields have an integer prefix
michael-grunder Oct 9, 2025
675be99
Update CHANGELOG.md
michael-grunder Oct 9, 2025
be4f14c
Update `CHANGELOG.md` and `package.xml`
michael-grunder Oct 3, 2025
ca25b6f
Prepare to tag 6.3.0RC1
michael-grunder Oct 14, 2025
4ff7d7e
Merge release/6.3.0RC1 back into develop
michael-grunder Oct 15, 2025
c563c8c
Add missinig PECL/GitHub release urls
michael-grunder Oct 19, 2025
c8b79b1
Add *.dep to .gitignore
michael-grunder Oct 29, 2025
6c1fbf8
Fix arginfo and stubs for RedisCluster
yatsukhnenko Oct 30, 2025
c28430e
Add specific TLS options documentation
michael-grunder Oct 30, 2025
cd4cf65
Document `WAIT` and `WAITAOF`
michael-grunder Oct 30, 2025
6b481b6
Document `UNSUBSCRIBE` and `PUNSUBSCRIBE`.
michael-grunder Oct 30, 2025
4de4f72
WAIT and WAITAOF
michael-grunder Oct 30, 2025
5afa8eb
fix: Change nullable return types, so they can be better parsed
mitelg Oct 23, 2025
8597d3d
feat: Add method annotations for methods that are callable via magic …
mitelg Oct 23, 2025
9c9d028
fix: Adjust PHPDoc comments to match parameter and return types
mitelg Oct 23, 2025
b742bb8
fix: Change typehint to RedisArray
mitelg Oct 31, 2025
8894de5
Update stub hashes
michael-grunder Oct 31, 2025
6e214c1
Cloning our objects should not segfault
michael-grunder Oct 31, 2025
453c478
Improve error message when picking session compression
michael-grunder Oct 30, 2025
bf2047e
Inform the user if we couldn't extract any session servers.
michael-grunder Oct 30, 2025
025b0e9
Prevent UB in session weighted selection
michael-grunder Oct 30, 2025
e2dd13c
Implement `DIGEST` and `_digest` helper (for php >= 8.1)
michael-grunder Nov 5, 2025
00c62de
Implement `DELEX` command
michael-grunder Nov 6, 2025
107cc7a
Make sure `_digest` throws an exception in PHP < 8.1
michael-grunder Nov 6, 2025
d6437f5
Rework documentation for our local helper methods
michael-grunder Nov 7, 2025
10c0bf0
Update doctum-config.php
michael-grunder Nov 7, 2025
ecdc290
Update doctum docs
michael-grunder Nov 7, 2025
abce165
Add examples to methods missing them.
michael-grunder Nov 8, 2025
9e9ccbd
Update doctum docs
michael-grunder Nov 8, 2025
b30fe1d
Add vendor to .gitignore
michael-grunder Nov 8, 2025
1297c48
docs: Initial syntax highlighing integration
michael-grunder Nov 9, 2025
e460a85
docs: Add doctum theme and syntax highlighting
michael-grunder Nov 9, 2025
4cf670f
docs: Add syntax highlighting to method signatures
michael-grunder Nov 9, 2025
9b17434
Update .gitignore
michael-grunder Nov 9, 2025
ae69e47
Additional `doctum` syntax highlighting. (#2763)
michael-grunder Nov 10, 2025
d45c4d2
docs: We want our docs based on `develop` not `main`
michael-grunder Nov 10, 2025
9edc242
docs: Apply syntax highlighting to the index section.
michael-grunder Nov 10, 2025
38e56d5
docs: Highlight the individual doctum params
michael-grunder Nov 10, 2025
5fe0862
docs: Syntax highlight string literals in green
michael-grunder Nov 10, 2025
d5b1576
docs: Syntax highlight parameter arg names
michael-grunder Nov 11, 2025
e9e338b
Fix parsing string values that looks like numbers in exponent form
yatsukhnenko Nov 11, 2025
a46700c
docs: Fix `@see \Redis` annotations so they hyperlink correctly.
michael-grunder Nov 11, 2025
76286d8
docs: Add `@see` annotations to the Redis or Valkey command docs
michael-grunder Nov 11, 2025
730dec0
Add a monotonically incrementing persistent id counter
michael-grunder Nov 10, 2025
86eabb8
Implement `MSETEX` and refactor `SET`.
michael-grunder Nov 6, 2025
bd4989e
Add a test for MSETEX
michael-grunder Nov 11, 2025
41922b6
Implement `MSETEX` for `RedisCluster`
michael-grunder Nov 11, 2025
635d87d
Implement `XDELEX` command
michael-grunder Nov 11, 2025
8b4cfb7
Add a test for `XDELEX`
michael-grunder Nov 11, 2025
49919b0
docs: Document class constants
michael-grunder Nov 12, 2025
26cf6d9
docs: Fully document backof strategies.
michael-grunder Nov 12, 2025
8ef349a
docs: Document final undocumented constants.
michael-grunder Nov 12, 2025
0981c2b
docs: Document failover strategies.
michael-grunder Nov 12, 2025
c17f475
docs: Add missing docblocs + example highlighting
michael-grunder Nov 13, 2025
8e1c278
Replace legacy zval_is_true() alias with zend_is_true()
ndossche Nov 15, 2025
d24528e
Replace legacy zval_dtor() alias with zval_ptr_dtor_nogc()
ndossche Nov 15, 2025
7d4fa61
Replace legacy ZEND_WRONG_PARAM_COUNT() alias with zend_wrong_param_c…
ndossche Nov 15, 2025
3401462
Replace lagcy WRONG_PARAM_COUNT macro with its definition
ndossche Nov 15, 2025
b192b0e
Try to fix an ifdef compilation issue
michael-grunder Nov 14, 2025
23cc785
Implement XACKDEL
michael-grunder Nov 12, 2025
6efd549
Clarify that `Redis->connect()` will throw on failure.
michael-grunder Nov 18, 2025
a033e40
Fix `MSETEX` TTL assertions
michael-grunder Nov 18, 2025
f23da62
Add missing type results and remove ancient `TODO` line
michael-grunder Nov 18, 2025
4baad44
Handle `false` from `$this->redis->info()` in `TestSuite::setUp()`
michael-grunder Nov 25, 2025
399346e
docs: Add a few missinig examples
michael-grunder Nov 27, 2025
d4600a2
docs: Update rendered docs
michael-grunder Nov 27, 2025
0debad4
Relax the `_digest()` test for PHP < 8.1
michael-grunder Nov 27, 2025
ac54591
Added 8.5 to Mac and Windows CI
thecaliskan Oct 6, 2025
a6313d1
fixed "tee: /opt/homebrew/etc/php/8.5/conf.d/90-redis.ini: No such fi…
thecaliskan Dec 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update sponsorship (phpredis#2719)
* Update contact information in README.md
* align sponsorship logos

Added PayPal as an additional support option for the project.

* add spacing

Added line breaks for improved formatting.

* fix list indentation

* mention relay

Added a new section on sponsorship and support for the project.

* Update Relay support description in README

Clarified the description of Relay's support for PhpRedis.
  • Loading branch information
tillkruss authored Oct 2, 2025
commit 7a69d7301c8b1618d213d9ada66ba5e006b6c14d
73 changes: 41 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,47 +8,56 @@ The phpredis extension provides an API for communicating with the [Redis](http:/

It is released under the [PHP License, version 3.01](http://www.php.net/license/3_01.txt).

You can send comments, patches, questions [here on github](https://github.com/phpredis/phpredis/issues), to [email protected] ([Twitter](https://twitter.com/grumi78), <a rel="me" href="https://phpc.social/@mgrunder">Mastodon</a>), [email protected] ([@yatsukhnenko](https://twitter.com/yatsukhnenko)), or [email protected] ([@yowgi](https://twitter.com/yowgi)).
You can send comments, patches, questions [here on github](https://github.com/phpredis/phpredis/issues), to [Michael](mailto:[email protected]) ([Twitter](https://twitter.com/grumi78), <a rel="me" href="https://phpc.social/@mgrunder">Mastodon</a>), [Pavlo](mailto:[email protected]) ([@yatsukhnenko](https://twitter.com/yatsukhnenko)), or [Nicolas](mailto:[email protected]) ([@yowgi](https://twitter.com/yowgi)).

## Supporting the project
PhpRedis will always be free and open source software and if you or your company has found it useful please consider supporting the project. Developing a large, complex, and performant library like PhpRedis takes a great deal of time and effort, and support is greatly appreciated! :heart:
## Sponsors

The best way to support the project is through [GitHub Sponsors](https://github.com/sponsors/michael-grunder). Many of the reward tiers grant access to our [Slack](https://phpredis.slack.com) where [myself](https://github.com/michael-grunder) and [Pavlo](https://github.com/yatsukhnenko) are regularly available to answer questions. Additionally this will allow you to provide feedback on which fixes and features to prioritize.
<div align="center">
<br>
<a href="https://relay.so">
<img src="https://s3.us-east-1.amazonaws.com/assets.relay.so/img/wordmark-purple.svg" align="center" alt="The next-generation caching layer for PHP." width="275">
</a>
<br><br><br>
<a href="https://objectcache.pro"><img src="https://objectcache.pro/assets/wordmark-padded.png" align="center" alt="Object Cache Pro" width="200"></a>&nbsp;
<a href="https://audiomack.com"><img src="https://styleguide.audiomack.com/assets/dl/inline-orange-large.png" align="center" alt="Audiomack.com" width="150"></a>&nbsp;
<a href="https://bluehost.com"><img src="https://upload.wikimedia.org/wikipedia/commons/2/22/Bluehost-logo.png" align="center" alt="Bluehost.com" width="150"></a>
<a href="https://openlms.net"><img src="https://support.openlms.net/hc/theming_assets/01HZPV3CVP3Y6P7G6MT14NP6V1" align="center" alt="OpenLMS.net" width="125"></a>
<br><br>
</div>

## Become a Sponsor
PhpRedis will always be free and open source software and if you or your company has found it useful please consider supporting the project. Developing a large, complex, and performant library like PhpRedis takes a great deal of time and effort, and support is greatly appreciated! :heart:

You can also make a one-time contribution with [PayPal](https://www.paypal.me/michaelgrunder/5).
The ongoing development of PhpRedis is made possible thanks to the generous support of [Relay](https://relay.so), which funds the vast majority of work on the project. Relay is a high-performance in-memory cache and drop-in replacement for PhpRedis, which handles millions of requests per second without breaking a sweat.

## Sponsors
<a href="https://audiomack.com"><img src="https://styleguide.audiomack.com/assets/dl/inline-orange-large.png" align="center" alt="Audiomack.com" width="150"></a>
<a href="https://bluehost.com"><img src="https://upload.wikimedia.org/wikipedia/commons/2/22/Bluehost-logo.png" align="center" alt="Bluehost.com" width="150"></a>
<a href="https://objectcache.pro"><img src="https://objectcache.pro/assets/wordmark-padded.png" align="center" alt="Object Cache Pro" width="150"></a>
<a href="https://openlms.net"><img src="https://support.openlms.net/hc/theming_assets/01HZPV3CVP3Y6P7G6MT14NP6V1" align="center" alt="OpenLMS.net" width="150"></a>
The best way to support the project is through [GitHub Sponsors](https://github.com/sponsors/michael-grunder). Many of the reward tiers grant access to our [Slack](https://phpredis.slack.com) where [myself](https://github.com/michael-grunder) and [Pavlo](https://github.com/yatsukhnenko) are regularly available to answer questions. Additionally this will allow you to provide feedback on which fixes and features to prioritize. You can also make a one-time contribution with [PayPal](https://www.paypal.me/michaelgrunder/5).

## Table of contents
1. [Installing/Configuring](#installingconfiguring)
* [Installation](#installation)
* [PHP Session handler](#php-session-handler)
* [Distributed Redis Array](./arrays.md#readme)
* [Redis Cluster support](./cluster.md#readme)
* [Redis Sentinel support](./sentinel.md#readme)
* [Running the unit tests](#running-the-unit-tests)
* [Installation](#installation)
* [PHP Session handler](#php-session-handler)
* [Distributed Redis Array](./arrays.md#readme)
* [Redis Cluster support](./cluster.md#readme)
* [Redis Sentinel support](./sentinel.md#readme)
* [Running the unit tests](#running-the-unit-tests)
2. [API Documentation](#api-documentation)
3. [Classes and methods](#classes-and-methods)
* [Usage](#usage)
* [Connection](#connection)
* [Retry and backoff](#retry-and-backoff)
* [Server](#server)
* [Keys and strings](#keys-and-strings)
* [Hashes](#hashes)
* [Lists](#lists)
* [Sets](#sets)
* [Sorted sets](#sorted-sets)
* [HyperLogLogs](#hyperloglogs)
* [Geocoding](#geocoding)
* [Streams](#streams)
* [Pub/sub](#pubsub)
* [Transactions](#transactions)
* [Scripting](#scripting)
* [Introspection](#introspection)
* [Usage](#usage)
* [Connection](#connection)
* [Retry and backoff](#retry-and-backoff)
* [Server](#server)
* [Keys and strings](#keys-and-strings)
* [Hashes](#hashes)
* [Lists](#lists)
* [Sets](#sets)
* [Sorted sets](#sorted-sets)
* [HyperLogLogs](#hyperloglogs)
* [Geocoding](#geocoding)
* [Streams](#streams)
* [Pub/sub](#pubsub)
* [Transactions](#transactions)
* [Scripting](#scripting)
* [Introspection](#introspection)

## Installing/Configuring

Expand Down