TTL (Time to Live) is an integer field in every DNS record that specifies how many seconds resolvers should cache the record before discarding it and fetching a fresh copy.
Common TTL Values
| TTL | Duration | Use Case |
|---|---|---|
| 60 | 1 minute | During active migration/testing |
| 300 | 5 minutes | Before planned DNS changes |
| 3600 | 1 hour | Standard — good balance |
| 86400 | 24 hours | Stable infrastructure, reduces DNS load |
Effect on Propagation
When you change a DNS record, the change is instant at your authoritative nameserver. But resolvers that cached the old record continue serving it until TTL expires.
Lowering TTL before changes:
- Set TTL to 300 at least 24 hours before any planned change
- After the old TTL expires, resolvers pick up the short new TTL
- Make your change — it now propagates in ~5 minutes
- After confirming success, raise TTL back to 3600
TTL = 0
A TTL of 0 means “do not cache.” Every DNS query goes to the authoritative server. This maximizes freshness but dramatically increases load on your nameservers and slows resolution for users. Avoid in production.
Negative TTL
When a DNS query returns NXDOMAIN (record doesn’t exist), that negative result is also cached — for the duration of the SOA minimum TTL. Delete a record, and resolvers may still serve NXDOMAIN to requesters for that period.