There are 7 layers of interfaces between your client sending data and what happens on the wire/over the air (though some of those layers have been effectively merged). Generally speaking, the client may batch up commands, but the moment that it sends it via the underlying send/write socket call and it gets buffered by the operating system, it is sent as far as most application-level protocols are concerned. Depending on your operating system, there may be system calls you can make to determine how much of the data you've sent has been acknowledged by the recipient, but that is a nasty violation of separation of concerns and layering.
If you are concerned about making sure that your data gets published, then subscribe to those channels that you are publishing on, then publish on them. If you don't get the message via subscription that you expect, then re-send.
That said, I'd be willing to wager that you are over-thinking your issue. The only clients that should be publishing or subscribing to Redis are clients that are on the same lan/vlan. Unless you are having hardware issues or your network is at capacity, intermittent connection issues should be rare (as in once every week or two). Heck, I will typically leave SSH connections open between development workstations at home and at the office, and those will usually stay open for 1-2 weeks over the internet without issue.
- Josiah