Link copiato negli appunti
Query al database o chiamate alle API esterne lente? Spesso il modo più efficiente per velocizzare del codice consiste nel memorizzare i risultati in una cache e richiamarli più tardi. A questo proposito vale la pena segnalare il progetto Stash.
Stash ha una lista di funzionalità che si possono utilizzare per gestire al meglio la cache:
- Memorizza tutti tipi di dati PHP: tutti i tipi di dati nativi e che possono essere serializzati.
- Cache gerarchica: gli elementi memorizzati possono essere nidificati come le cartelle di un filesystem.
- Diversi storage engine: i gestori attuali supportati sono filesystem, APC, Memcached e SQLite.
- Rigenera prima della scadenza: possibilità di rigenerare un elemento memorizzato nella cache prima che venga a mancare, facendo in modo che i dati siano sempre disponibili e limitando i tempi costosi di esecuzione di una istanza alla volta.
- Memorizzazione automatica: è possibile aumentare ulteriormente le prestazioni dei gestori di cache, mantenendo una copia della cache precedente nella memoria locale dello script.
- Codifica dati ottimizzata: velocizzare la codifica e decodifica delle funzioni per l'archiviazione dei dati, memorizzando le cose nel loro tipo di dati nativo, serializzando solo gli oggetti e gli array multidimensionali.
Per l'utilizzo di Stash consiglio la lettura della documentazione del progetto che contiene anche esempi pratici.