ForgeTotal.js 5
nl

Total.js 5

Waarden in het geheugen cachen

Total.js 5 · total5@0.0.19 cacheperformance Uitgevoerd met Total.js 5

CACHE is een key-value-opslag in het geheugen met verlooptijd. CACHE.set(key, value, expire) bewaart een waarde (de verlooptijd is een tekst als '10 seconds' of '5 minutes', standaard '5 minutes'). CACHE.get(key, default) geeft de waarde terug, of de standaardwaarde zodra die is verlopen. CACHE.remove(key) wist één sleutel en CACHE.reset(search) wist elke sleutel die de tekst bevat.

Gebruik het voor resultaten die duur zijn om te berekenen en best een beetje verouderd mogen zijn. De cache leeft in het proces: hij wordt bij een herstart gewist en niet gedeeld tussen processen.

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 });
}