Refresh interval for dashboard

Hi, I have a dashboard with 4 panels showing various operational metrics. The data is fetched from a SQLServer database. I want the data to be refreshed every 10 mins. My questions are -
a. How do I go about achieving this?
b. If some of the viewers(view access) of the dashboard want the dashboard data to be refreshed every 2 mins and select the refresh interval on the right hand top as 2 mins, does this work?
c. Is the database being queried upon each time a viewer refreshes the dashboard?

Thanks in advance.