Why are two types of return values used here?
The meaning of the data they output seems to be the same(array member+score).
127.0.0.1:6379> hello 3
1# "server" => "redis"
2# "version" => "6.2.1"
3# "proto" => (integer) 3
4# "id" => (integer) 2266
5# "mode" => "standalone"
6# "role" => "master"
7# "modules" => (empty array)
127.0.0.1:6379> zadd set 1 one 2 two
(integer) 2
127.0.0.1:6379> zrange set 0 -1 withscores
1) 1) "one"
2) (double) 1
2) 1) "two"
2) (double) 2
127.0.0.1:6379> zpopmax set 2
1) "two"
2) (double) 2
3) "one"
4) (double) 1