The private calendar is updated immediately because it can't be cached. It will be different for every user so it has to be built live. The query for this is pretty basic, so it doesn't really impact performance. The regular calendar is more complex, but the view will be the same for everyone. Since the query is more complex, has to build the days of the month, etc. it really needs to be cached and I'd recommend against having it rebuild too often.