socket is not set to null during transaction, after redis server stops, then starts.

after redis server stops, the sockets which are used by RedisClient in
the transaction are not set to null. when the redis server is back on,
socket exceptions will be thrown. move the try /catch logic into
FlushSendBuffer instead.