Ajax call to transients

Without object caching plugins transients are stored using options API and, if set to expire, they have auto-load disabled. Meaning:

  1. First request to transient needs to fetch it from database.
  2. Subsequent requests will get data from memory.

However note that “memory” here is memory space of single specific page load. It’s not shared and not persistent.

Ajax request performs new network request to site, loads new instance of WP core and does the stuff. It’s quite heave operation, which is hard to optimize and it’s performance impact overall makes transient API overhead irrelevantly small.