I've been tasked with making a portlet on our landing page refresh, without refreshing the rest of the page, because it will probably kill our servers. If the whole page refreshed every time these settings would change. Buying new servers or optimizing our setup isn't an option at the moment.
If you change your portlet to a Resource Serving Portlet, you can then use the serveResource method and a resourceURL which doesn't refresh the page when called.
You'll also have to write a little JS to interact with the resourceURL via AJAX requests.