ForgeTotal.js 5
fr

Total.js 5

Mettre des valeurs en cache en mémoire

Total.js 5 · total5@0.0.19 cacheperformance Exécutée avec Total.js 5

CACHE est un magasin clé-valeur en mémoire avec expiration. CACHE.set(key, value, expire) stocke une valeur (l'expiration est un texte comme '10 seconds' ou '5 minutes', par défaut '5 minutes'). CACHE.get(key, default) renvoie la valeur, ou la valeur par défaut une fois expirée. CACHE.remove(key) supprime une clé et CACHE.reset(search) supprime toutes les clés qui contiennent le texte.

Utilisez-le pour des résultats coûteux à calculer qui peuvent être un peu périmés. Le cache vit dans le processus : il est vidé au redémarrage et n'est pas partagé entre processus.

controllers/cache.js
exports.install = function() {
	ROUTE('GET /slow/', slow);
	ROUTE('DELETE /slow/', clear);
};

var computed = 0;

function slow($) {

	var cached = CACHE.get('slow-result');

	if (cached) {
		$.json({ value: cached, cached: true, computed: computed });
		return;
	}

	computed++;
	var value = 'result-' + computed;
	CACHE.set('slow-result', value, '1 second');
	$.json({ value: value, cached: false, computed: computed });
}

function clear($) {
	CACHE.remove('slow-result');
	$.json({ ok: true });
}