You can do an automatic refresh every 15 minutes, or you can do a refresh by hand. After a refresh everything is “up to date” if there is an internet connection. Or do I miss something?
I guess in the future push notifications will be possible, like “imap idle”. I have heard it is already possible with Apple’s calendarserver and with Z-push. I don’t know about an official implementation in carddav.