add docker + debug
This commit is contained in:
parent
848a79a04e
commit
1f4193f9c0
26 changed files with 21051 additions and 28 deletions
69
frontend/src/services/cacheService.js
Normal file
69
frontend/src/services/cacheService.js
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
// services/cacheService.js
|
||||
// Service pour gérer la mise en cache des données
|
||||
|
||||
class CacheService {
|
||||
constructor() {
|
||||
this.cache = {};
|
||||
this.defaultTTL = 5 * 60 * 1000; // 5 minutes en millisecondes
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère une entrée en cache
|
||||
* @param {string} key - La clé de l'entrée
|
||||
* @returns {Object|null} - L'entrée ou null si non trouvée ou expirée
|
||||
*/
|
||||
get(key) {
|
||||
const item = this.cache[key];
|
||||
|
||||
if (!item) return null;
|
||||
|
||||
// Vérifier si l'entrée est expirée
|
||||
if (Date.now() > item.expiry) {
|
||||
// Suppression automatique des entrées expirées
|
||||
delete this.cache[key];
|
||||
return null;
|
||||
}
|
||||
|
||||
return item.value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute une entrée dans le cache
|
||||
* @param {string} key - La clé de l'entrée
|
||||
* @param {any} value - La valeur à stocker
|
||||
* @param {number} ttl - Durée de vie en millisecondes (par défaut: 5 minutes)
|
||||
*/
|
||||
set(key, value, ttl = this.defaultTTL) {
|
||||
this.cache[key] = {
|
||||
value,
|
||||
expiry: Date.now() + ttl
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérifie si une entrée existe et est valide
|
||||
* @param {string} key - La clé de l'entrée
|
||||
* @returns {boolean} - Vrai si l'entrée existe et n'est pas expirée
|
||||
*/
|
||||
has(key) {
|
||||
return this.get(key) !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime une entrée du cache
|
||||
* @param {string} key - La clé de l'entrée
|
||||
*/
|
||||
invalidate(key) {
|
||||
delete this.cache[key];
|
||||
}
|
||||
|
||||
/**
|
||||
* Vide tout le cache
|
||||
*/
|
||||
clear() {
|
||||
this.cache = {};
|
||||
}
|
||||
}
|
||||
|
||||
// Export d'une instance singleton
|
||||
export default new CacheService();
|
||||
Loading…
Add table
Add a link
Reference in a new issue