Ahora que hemos explicado por qué el almacenamiento en caché es importante y cómo puede ayudarnos a mejorar el rendimiento y la capacidad de respuesta, es hora de introducirlo finalmente en su aplicación.
En el tutorial de resiliencia, introdujo resiliencia en su aplicación usando resilience4j
. Ahora, para poder procesar nuestras llamadas OData, mejorará la ResilienceConfiguration
y agrega un CacheConfiguration
él.
Agregue las siguientes líneas al final del constructor GetBusinessPartnerCommand
:
./application/src/main/java/com/sap/cloud/sdk/tutorial/GetBusinessPartnersCommand.java
final ResilienceConfiguration.CacheConfiguration cacheConfig =
ResilienceConfiguration.CacheConfiguration
.of(Duration.ofSeconds(10))
.withoutParameters();
myResilienceConfig.cacheConfiguration(cacheConfig);
Como se mencionó anteriormente, el ResilienceConfiguration
utilizado para integrar la funcionalidad de almacenamiento en caché, descrita en un CacheConfiguration
. Hay dos pasos para su configuración:
- Descubra cuánto tiempo deben depositarse las cosas
- Confirme los parámetros necesarios para almacenarlos junto con los datos en caché
El primer paso es claramente necesario, ya que los datos solo deben almacenarse durante un tiempo limitado. Cuanto más tiempo guarde la información, más antigua se volverá. El tiempo que necesita para almacenar datos depende de su caso de uso particular. ¿Con qué rapidez espera que la información esté desactualizada? ¿Con qué frecuencia se accederá a los datos? El tiempo de espera establece un búfer entre los datos actualizados y la capacidad de respuesta de la aplicación.
En segundo lugar, especifica los parámetros que se almacenarán en caché con los datos. Para que su solicitud recupere una lista de socios comerciales, no se requieren parámetros, por lo que puede tomar su depósito wihtoutParameters
. Pero imagine que desea obtener información sobre un socio comercial en particular reenviando una identificación al sistema. Para poder presentar dicha solicitud, la caché debe recordar no solo el resultado obtenido, sino también el ID asociado al mismo. En tal caso, uno puede pasar esos parámetros usando .withParameters(param1, param2, ..)
.
No dude en probar que las solicitudes posteriores responden más rápidamente en comparación con la primera solicitud emitida. Implemente su aplicación localmente o en la nube y acceda a la lista de socios comerciales varias veces.