Cache statica: cos'è e come funziona
Pubblicato: 2022-06-30Le strategie di memorizzazione nella cache sono complicate, quindi il nostro Support Manager, Ryan Belisle, si è preso del tempo per spiegare un modo per utilizzare la memorizzazione nella cache statica per fornire un sito più veloce.
Continua a leggere per imparare:
- Che cos'è il contenuto statico della cache?
- Vantaggi della cache statica.
- Limitazioni della memorizzazione nella cache statica.
- Come implementare la memorizzazione nella cache statica.
- Come disabilitare la memorizzazione nella cache statica.
Nell'e-commerce, poche cose sono più miserabili che pagare per una campagna promozionale e guardarla brillare, solo per vedere il tuo sito andare in crash e bruciare durante quella che dovrebbe essere la tua ora migliore. A volte, le promozioni superano le tue aspettative e le tue misure proattive non sono sufficienti. Cosa poi?
Una tattica per ottenere più prestazioni dal tuo sito all'ultimo minuto è un metodo chiamato cache statica.
Dritta! Non consigliamo di adottare un approccio dell'ultimo minuto per affrontare i picchi previsti nel traffico web. Questo è per quando hai già applicato le migliori pratiche per ottimizzare la tua infrastruttura o app e i tuoi risultati di marketing superano qualsiasi aspettativa.
Che cos'è il contenuto statico della cache?
Sebbene siano disponibili molte forme di memorizzazione nella cache, la memorizzazione nella cache statica è un metodo per convertire la pagina generata dalla richiesta di un utente in un documento HTML per soddisfare eventuali richieste successive alla stessa pagina.
Anziché il server interpretare il codice del sito stesso, interrogare il database e restituire un documento HTML al cliente e infine caricare la pagina, la memorizzazione nella cache statica salva un singolo risultato dei primi due passaggi e fornisce quel documento a chiunque altro faccia la richiesta .
Vantaggi della memorizzazione nella cache statica
Sebbene di base, la memorizzazione nella cache statica può avere un effetto profondo, in particolare nelle seguenti aree:
- Ridurre il sovraccarico : Invece di dover generare processi PHP per gestire le richieste alle pagine del sito, il server Web servirà semplicemente il documento HTML direttamente alla richiesta sulla pagina memorizzata nella cache staticamente.
- Fornisci una "pagina di destinazione" per tutto il traffico di click-through : invece di spendere risorse per chiunque visiti la tua home page o segua un collegamento a un URL specifico, questo fornisce la pagina memorizzata nella cache per impostazione predefinita senza interferire con il normale funzionamento per altre pagine del sito .
Limitazioni della memorizzazione nella cache statica
Voglio sottolineare, tuttavia, che la memorizzazione nella cache statica ha dei limiti e generalmente dovrebbe essere utilizzata solo come soluzione temporanea. Tieni a mente:
- Una cache statica è proprio questo: statica. Eventuali modifiche apportate al sito non si rifletteranno sulle pagine memorizzate nella cache in questo modo.
- Informazioni come "articoli nel carrello" o altri dati archiviati nei file di sessione dei tuoi clienti non funzioneranno su queste pagine.
Come implementare la memorizzazione nella cache statica
Sebbene esistano diversi modi per implementare la memorizzazione nella cache statica, ecco i passaggi di base per farlo manualmente:
1. Accedi al tuo server con SSH.
2. Crea una directory separata nella tua webroot per memorizzare i documenti HTML utilizzati nella cache statica.
3. Utilizzando cURL o Wget, effettuare richieste alle pagine di destinazione e memorizzarle nella directory con i rispettivi nomi URI (indice, prodotti, ecc.)
4. Aggiungi le riscritture nella parte superiore del tuo file .htaccess per reindirizzare le richieste ai file di cache statici, come i seguenti:
[codice]
RewriteCond %{REQUEST_URI} ^/?example_category$ [NC]
RewriteRule .* https://www.domain.tld/static/example_category.html [R=302,L]
[/codice]
In alternativa, puoi anche scrivere uno script per gestire questo processo. L'esempio seguente consente di creare un file con un URL separato su ciascuna riga. Questi URL verranno quindi letti per generare la cache statica:
[lingua del codice =”bash”]
#!/bin/bash
# Convalida argomento di base
se [ “$#” -ne 2 ]; poi
echo -e “Deve passare due argomenti allo script.\n\nUtilizzo: ./nexcess_static_cache_helper.sh dominio url_list_file\n”
uscita 1
fi
# Ottieni alcuni dati sul dominio
dominio=$1
file_pagine=$2
# Crea directory per le pagine statiche nella directory corrente
dir_cache=./cache_statica
Se ! [[ -d $dir_cache]]; poi
mkdir $dir_cache
fi
# Scarica le pagine statiche in file HTML
URL_list=$(cat $pagine_file)
per l'URL in $URL_list; fare
request_uri=$(echo $URL | taglia -d/ -f 4-)
se [[ -z “$richiesta_uri” ]]; poi
cache_page_name="indice"
richiesta_uri="/"
altro
cache_page_name=$(echo $request_uri | perl -pe 's,/|\.,_,g')
fi
wget -q $URL -O $dir_cache/$nome_pagina_cache.html
echo “$request_uri $cache_page_name” >> $HOME/temp_url.file
fatto
# Formatta un blocco per htaccess
eco -e “########”
echo -e “# START: URL cache statica Riscritture generate il $(data)”
eco -e “########”
echo -e “RewriteEngine On”
cat $HOME/URL_temp.file | mentre leggi la pagina uri; fare
echo “RewriteCond %{REQUEST_URI} ^/?${uri}$ [NC]\n”
echo “RewriteRule .* https://www.${domain}/static_cache/$page [R=302,L]\n”
fatto
eco -e “######”
echo -e “# END: URL cache statica Riscritture generate il $(data)”
eco -e “######”
rm $HOME/URL_temp.file
[/codice]

Per utilizzare lo script precedente:
1. Vai alla webroot del tuo sito, quindi crea un file chiamato cache_list.txt, o come preferisci.
2. Aprire il file. Aggiungi l'URL per ogni pagina che deve essere memorizzata nella cache statica, utilizzando una nuova riga per ogni voce dell'URL. Questo dovrebbe assomigliare al seguente:
[codice]
https://www.esempio.com/
https://www.example.com/sale
https://www.example.com/products
[/codice]
Salva il file, quindi crea un file con lo script sopra e salvalo come nexcess_static_cache_helper.sh o come preferisci.
Rendi eseguibile il file:
[code]chmod +x nexcess_static_cache_helper.sh[/code]
Quando sei pronto, esegui lo script, ma sostituisci usa il tuo nome file e il nome di dominio effettivo:
[codice]./nexcess_static_cache_helper.sh esempio.com cache_list.txt[/code]
Questo creerà una directory static_cache sotto la tua webroot contenente i documenti HTML da usare per la cache statica. Inoltre, il tuo terminale mostrerà un output simile a:
[codice]
########
# START: Riscritture URL cache statica generate il lunedì 18 settembre 15:49:11 EDT 2017
########
RewriteEngine attivato
RiscriviCond %{REQUEST_URI} ^/?/$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/index [R=302,L]\n
RiscriviCond %{REQUEST_URI} ^/?sale$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/sale [R=302,L]\n
RewriteCond %{REQUEST_URI} ^/?products$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/products [R=302,L]\n
######
# FINE: Riscritture URL cache statica generate il lunedì 18 settembre 15:49:11 EDT 2017
######
[/codice]
Copia il blocco sopra e incollalo nella parte superiore del tuo file .htaccess per il sito, che generalmente dovrebbe trovarsi nella tua directory corrente.
La cache statica dovrebbe ora essere abilitata. Nello spirito di una buona pulizia, elimina i file che abbiamo generato nei passaggi precedenti:
[code]rm nexcess_static_cache_helper.sh cache_list.txt[/code]
Come disabilitare la memorizzazione nella cache statica
Per disabilitare la memorizzazione nella cache statica, rimuovere il blocco di codice posizionato all'interno del file .htaccess.
Inoltre, se è necessario rigenerare i file, eseguire nuovamente lo script e sostituirà i documenti HTML con versioni più recenti. Consiglierei di sostituire anche il blocco di codice .htaccess, solo per aggiornare il timestamp per riferimento futuro.
Ora sai
Come affermato in precedenza, questo è solo un metodo temporaneo e non deve essere utilizzato come strategia di ottimizzazione del rendimento principale. Per soluzioni a lungo termine, consulta la nostra guida all'ottimizzazione, implementa un CDN o contatta il nostro team di supporto per esplorare opzioni aggiuntive come l'hosting di Magento, WooCommerce o WordPress.
Oppure, dai un'occhiata ai pacchetti WordPress gestiti da Nexcess per vedere come puoi ottimizzare le prestazioni del tuo sito.