Access Token, refresh Token and access code expire in 7200 seconds. You get only one refresh token for an accessToken. You can get a new pair of access and refresh token anytime before 2 hour expiration period. Here is the link for that.
There is a feature called "QuickConnect" where users login once and we refresh their data on our side periodically unless you/your user unsubscribe from it. Here is the link for more information.