Redis uses its own protocol to communicate between redis-server and redis-client

I thought db client sending plain text command (in SQL) to server and server parse the command. But I found Redis and Mysql client communicate to server via a custom protocol, that prove the client parse the command, not the server

socat -v tcp-listen:8001,reuseaddr,fork tcp:localhost:6379