single_command_t("hset", "key", "value1", "", "value2", "")
this command produces an wrong command string that will send to server and can lead to errors.
reason:
Protocol::command_size() returns zero byte size if args size are zero, but to store zero as string 1 byte is needed instead 0.