Mejores prácticas para almacenar datos agregados por fecha u otros criterios
Estoy creando resúmenes descriptivos por año. Para hacer esto, uso update_post_meta
al guardar para establecer valores como conteo de palabras, conteo de imágenes y conteo de enlaces externos.
Para una página de archivo anual, itero sobre cada publicación para crear sumas y luego formatear el resultado.
Con el caché activado, puedo asegurarme de servir resultados en caché a los usuarios.
Pero durante el desarrollo con el caché activado, noto la lentitud.
Estaba considerando usar un mecanismo tipo cron para crear los resúmenes HTML en un subdirectorio de la carpeta wp-content
o como elementos de wp_object_cache
con nombres como summary-YYYY.html
para el resumen o summary-YYYY.json
.
Mi pregunta:
¿Cuáles son mis opciones para almacenar datos como estos? ¿Existen mejores prácticas para nombrar claves en el caché de objetos? ¿Hay otras formas de asociar datos arbitrarios con un año?

Decidí usar wp_cache_set
y wp_cache_get
que parecen funcionar bien. Creo una clave basada en la clase, función y parámetros:
$cacheKey = self::createCacheKey( __CLASS__, __FUNCTION__, $referenceYear, $referenceMonth );
createCacheKey()
se ve así:
protected static function createCacheKey( ...$args ): string {
return implode('-', $args);
}
Y me aseguro de usar una expiración apropiada. Para fechas que no son del año o mes actual, configuro expiraciones más largas.
Obtener y devolver la caché se ve así al inicio de una función:
$cacheKey = self::createCacheKey( __CLASS__,
__FUNCTION__,
$referenceYear,
$referenceMonth );
$cache = wp_cache_get( $cacheKey, self::CACHE_GROUP );
if ( $cache ) {
return $cache;
}
Y al final de esas funciones uso:
wp_cache_set( $cacheKey, $output,
self::CACHE_GROUP, $cacheExpiration );
Parece que esto hace lo que quiero y mejora el rendimiento, aunque parece que el lugar predeterminado donde se almacenan las cosas y qué tan confiable es esto depende de la configuración del servidor.
