{"id":591,"date":"2026-07-21T11:42:00","date_gmt":"2026-07-21T09:42:00","guid":{"rendered":"https:\/\/aarkly.com\/?p=591"},"modified":"2026-08-08T12:25:09","modified_gmt":"2026-08-08T10:25:09","slug":"wordpress-transients-api-caching-database-queries","status":"publish","type":"post","link":"https:\/\/aarkly.com\/it\/wordpress-transients-api-caching-database-queries\/","title":{"rendered":"WordPress Transients API: Caching Database Queries for Better Performance"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Ogni sito WordPress esegue query sul database. Alcune sono veloci \u2014 recuperare un singolo post per ID. Altre sono lente \u2014 chiamate WP_Query complesse con pi\u00f9 condizioni meta, oppure il recupero di dati da API esterne. La Transients API ti permette di memorizzare nella cache queste operazioni costose cos\u00ec che vengano eseguite solo occasionalmente, migliorando drasticamente i tempi di caricamento delle pagine.<\/p><p class=\"wp-block-paragraph\">Questa guida copre come usare la Transients API di WordPress per memorizzare nella cache le query del database, le risposte delle API e i calcoli costosi.<\/p><h2 class=\"wp-block-heading\">Cosa Sono i Transients?<\/h2><p class=\"wp-block-paragraph\">I transients sono dati temporaneamente memorizzati nella cache, salvati nel database WordPress o nell'object cache con un tempo di scadenza. A differenza della Options API, che memorizza dati permanenti, i transients sono progettati per i dati che diventano obsoleti dopo un periodo specifico. Sono perfetti per memorizzare i risultati di operazioni costose che non devono essere freschi a ogni caricamento di pagina.<\/p><p class=\"wp-block-paragraph\">I transients scadono automaticamente dopo il periodo impostato e possono essere eliminati preventivamente quando aggiorni i dati sottostanti. Se il tuo sito usa un'object cache come Redis, i transients vengono salvati in memoria, rendendoli ancora pi\u00f9 veloci.<\/p><h2 class=\"wp-block-heading\">Operazioni di Base sui Transients<\/h2><p class=\"wp-block-paragraph\">Imposta un transient con set_transient(), passando una chiave univoca, i dati da salvare e il tempo di scadenza in secondi. Recuperalo con get_transient(), che restituisce false se il transient \u00e8 scaduto o non esiste. Eliminalo con delete_transient() quando devi svuotare la cache.<\/p><p class=\"wp-block-paragraph\">Il pattern standard consiste nel verificare l'esistenza di un transient, usarlo se esiste e rigenerarlo se non esiste. Questo pattern mantiene il tuo codice efficiente senza una gestione manuale della cache.<\/p><h2 class=\"wp-block-heading\">Memorizzare nella Cache le Query Costose<\/h2><p class=\"wp-block-paragraph\">Il caso d'uso pi\u00f9 comune per i transients \u00e8 la memorizzazione dei risultati di WP_Query complesse. Se il tuo plugin mostra un elenco di post correlati, commenti recenti o prodotti popolari, avvolgi la query in un transient. Imposta un tempo di scadenza ragionevole in base alla frequenza con cui i dati cambiano \u2014 ogni ora per i siti aggiornati di frequente, ogni giorno per i contenuti statici.<\/p><p class=\"wp-block-paragraph\">Elimina i transients rilevanti quando i dati sottostanti cambiano. Ad esempio, quando viene pubblicato un nuovo post, elimina il transient dei \u201cpost recenti\u201d cos\u00ec che il prossimo caricamento della pagina mostri l'elenco aggiornato.<\/p><h2 class=\"wp-block-heading\">Memorizzare nella Cache le Risposte delle API Esterne<\/h2><p class=\"wp-block-paragraph\">Le chiamate API esterne sono lente e inaffidabili. Se il tuo plugin recupera dati da un'API di terze parti \u2014 dati meteo, prezzi delle azioni, conteggi dei social media \u2014 memorizza la risposta nella cache con un transient. Questo protegge il tuo sito dal downtime delle API e migliora drasticamente i tempi di caricamento per gli utenti.<\/p><p class=\"wp-block-paragraph\">Imposta un tempo di scadenza pi\u00f9 lungo per i dati che cambiano lentamente. Imposta un tempo pi\u00f9 breve per i dati in tempo reale. Gestisci sempre il caso in cui l'API non sia disponibile e il transient sia scaduto \u2014 ripiega su dati cache obsoleti piuttosto che mostrare un errore.<\/p><h2 class=\"wp-block-heading\">Transients vs Altri Metodi di Cache<\/h2><p class=\"wp-block-paragraph\">I transients sono uno dei diversi strumenti di cache in WordPress. La page caching serve intere pagine HTML ai visitatori anonimi. L'object caching memorizza i risultati delle query del database. I transients sono ideali per memorizzare l'output di specifiche operazioni PHP costose che non sono coperte dalla page o dall'object caching.<\/p><p class=\"wp-block-paragraph\">Usa i transients quando devi memorizzare il risultato di una funzione o query specifica che impiega pi\u00f9 di 100ms per essere eseguita. Usa la Options API per i dati che dovrebbero persistere indefinitamente. Usa direttamente l'object cache solo quando ti serve pi\u00f9 controllo di quanto offrano i transients.<\/p><h2 class=\"wp-block-heading\">Il punto fondamentale<\/h2><p class=\"wp-block-paragraph\">La Transients API \u00e8 uno degli strumenti di prestazioni pi\u00f9 efficaci per gli sviluppatori WordPress. Ti permette di memorizzare le operazioni costose con un codice minimo, gestendo automaticamente scadenza e pulizia. Identifica le parti pi\u00f9 lente del tuo plugin \u2014 query complesse, chiamate API, calcoli pesanti \u2014 e avvolgile in transients. Il miglioramento delle prestazioni \u00e8 spesso drammatico.<\/p>","protected":false},"excerpt":{"rendered":"<p>Come usare l'API Transients di WordPress per cacheare query al database costose e risposte API per prestazioni migliori del sito.<\/p>","protected":false},"author":2,"featured_media":1178,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ai_primary_source":"","visibility_scope":"","ai_summary":"","ai_intent":"","ai_related_resources":"","ai_priority":0,"ai_entity_type":"","ai_is_based_on":"","ai_citations":"","ai_mentions":"","ai_speakable_selector":"","ai_chunk_hints":"","footnotes":""},"categories":[3,7,6],"tags":[34,27,35,30],"ai_visibility":[],"class_list":["post-591","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-performance-hosting","category-web-development","category-wordpress","tag-caching","tag-developer-to-founder","tag-saas","tag-wordpress-performance"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"_links":{"self":[{"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/posts\/591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/comments?post=591"}],"version-history":[{"count":2,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/posts\/591\/revisions"}],"predecessor-version":[{"id":1319,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/posts\/591\/revisions\/1319"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/media\/1178"}],"wp:attachment":[{"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/media?parent=591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/categories?post=591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/tags?post=591"},{"taxonomy":"ai_visibility","embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/ai_visibility?post=591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}