RESP3, and the client library that has to agree

6.0 introduced a new protocol with typed replies, and the client opts in with HELLO 3 — so the server supporting it changes nothing until the library does.

> HELLO 3
1# "server" => "redis"
2# "proto" => (integer) 3

# what changes: a map reply is a MAP rather than a flat array
# RESP2:  1) "field" 2) "value" 3) "other" 4) "value"
# RESP3:  1# "field" => "value"  2# "other" => "value"

The flat-array-to-map change removes a class of client bug where an odd-length reply was misinterpreted, and it is invisible to application code because the library does the mapping either way. The reason RESP3 matters is push messages: the server can send unsolicited data on the same connection, which is what makes client-side caching possible without a second subscription. phpredis gained support during 2020 and predis lagged, so the choice of library decides whether any of this is available.