If you're not in a position to run your website on the old IP address, then you need to make sure that the TTL (Time To Live) value for the host name who's IP address you will be changing is brought down to 0 (zero), with such notice that nobody can have the IP address cached at the point at which you make the change over.
If you're a very busy site and want to minimise the load on your authoritative DNS, you can use a binary chop.
Let's say your current TTL is 4 days. This means that a DNS server anywhere on the Internet can cache your IP address for up to that time. Then, if you're planning an IP change over, you must go in to your SOA record at least 4 days in advance and make the value 2 days. Then 1 day, then 12 hours, then 6 hours, etc. etc. as much as you can be bothered. When you get bored, go to 0 (zero). As long as you do this, then by the time of the change over every DNS lookup will be coming through to your authoritative server.
As soon as you've changed IP you can then return to the original TTL value.
If you're not fussed (or you don't like your DNS provider), you can just bring the TTL down to zero 4 days out. It will have the same effect, it's just that during that week a lot more traffic will be heading for your authoritative DNS.
Hope this helps.