This is my test case:

hmset test:01 f1 345 f2 A
hmset test:02 f1 444 f2 B
hmset test:03 f1 776 f2 B
hmset test:04 f1 111 f2 B
hmset test:05 f1 999 f2 A
sadd testset test:01
sadd testset test:02
sadd testset test:03
sadd testset test:04
sadd testset test:05
sort testset by *->f2 alpha by *->f1
1) "test:04"
2) "test:01"
3) "test:02"
4) "test:03"
5) "test:05"

BTW, the result should be:

1) "test:01"
2) "test:05"
3) "test:04"
4) "test:02"
5) "test:03"

It seems it only considers the last "by" field, or anything I am wrong?

My redis server version is 5.0.5

Comment From: cscan

I see this thread and the link of patch years ago, expected this features is already in place.