Önbellek Temizleme Stratejisi
- lru-cache:
lru-cache
, en az kullanılan (LRU) önbellekleme stratejisini kullanır. Bu, önbellek dolduğunda en az kullanılan öğelerin otomatik olarak silineceği anlamına gelir. Bu strateji, bellek kullanımını optimize eder ve sık erişilen verilere hızlı erişim sağlar. - quick-lru:
quick-lru
, en az kullanılan (LRU) önbellekleme stratejisini kullanır. Bu, önbellek dolduğunda en az kullanılan öğelerin otomatik olarak silineceği anlamına gelir. Bu, bellek kullanımını optimize eder ve sık erişilen verilere hızlı erişim sağlar. - node-cache:
node-cache
, zaman aşımı (TTL) desteği ile birlikte gelir. Her anahtar için bir süre belirleyebilir ve bu süre dolduğunda anahtar otomatik olarak silinir. Bu, önbelleğinizi otomatik olarak temizlemenin etkili bir yoludur. - memory-cache:
memory-cache
önbelleği temizlemek için herhangi bir strateji kullanmaz. Veriler, manuel olarak silinene kadar veya uygulama kapatılana kadar bellekte kalır. Bu, bellek sızıntılarına yol açabilir, bu nedenle dikkatli kullanılmalıdır.
Bellek Kullanımı
- lru-cache:
lru-cache
, bellek kullanımını optimize etmek için tasarlanmıştır. Öncelikle en az kullanılan verileri temizleyerek bellek sızıntılarını önler. Bellek sınırı belirleyerek, bu sınırı aştığında otomatik olarak en az kullanılan verileri siler. - quick-lru:
quick-lru
, bellek kullanımını optimize etmek için en az kullanılan (LRU) önbellekleme stratejisini kullanır. Bu, önbellek dolduğunda en az kullanılan verilerin otomatik olarak silinmesini sağlar. - node-cache:
node-cache
, bellek kullanımını daha iyi yönetmenize yardımcı olur. Zaman aşımı (TTL) desteği sayesinde, belirli bir süre sonra otomatik olarak silinen verilerle bellek kullanımını optimize eder. - memory-cache:
memory-cache
, bellek kullanımını yönetmez. Veriler, manuel olarak silinene kadar veya uygulama kapatılana kadar bellekte kalır. Bu, bellek sızıntılarına yol açabilir, bu nedenle dikkatli kullanılmalıdır.
Zaman Aşımı Desteği
- lru-cache:
lru-cache
paketi, yerleşik zaman aşımı desteği sunmaz. Ancak, kullanıcılar zaman aşımı işlevselliğini uygulamak için ek kod yazabilirler. - quick-lru:
quick-lru
paketi, yerleşik zaman aşımı desteği sunmaz. Ancak, kullanıcılar zaman aşımı işlevselliğini uygulamak için ek kod yazabilirler. - node-cache:
node-cache
paketi, her anahtar için zaman aşımı (TTL) belirleme özelliği sunar. Bu, belirli bir süre sonra otomatik olarak silinen anahtarlar ile bellek kullanımını daha iyi yönetmenizi sağlar. - memory-cache:
memory-cache
paketi, zaman aşımı desteği sunmaz. Veriler, manuel olarak silinene kadar veya uygulama kapatılana kadar bellekte kalır.
Hız ve Performans
- lru-cache:
lru-cache
, en az kullanılan (LRU) önbellekleme stratejisi ile optimize edilmiş bir performansa sahiptir. Bellek sınırı aşıldığında, en az kullanılan verileri otomatik olarak silerek bellek kullanımını yönetir. - quick-lru:
quick-lru
, hızlı ve hafif bir LRU önbellekleme çözümüdür. En az kullanılan verileri otomatik olarak silerek bellek kullanımını yönetir ve hızlı erişim sağlar. - node-cache:
node-cache
, zaman aşımı (TTL) desteği ile birlikte gelir, bu da bellek kullanımını optimize eder ve performansı artırır. Zaman aşımı olan anahtarlar otomatik olarak silinir, bu da bellek sızıntılarını önlemeye yardımcı olur. - memory-cache:
memory-cache
, basit bir önbellek çözümü sunar, ancak bellek yönetimi eksikliği nedeniyle büyük veri setlerinde performans sorunlarına yol açabilir.
Kolay Kullanım: Kod Örnekleri
- lru-cache:
lru-cache
ile LRU önbellekleme örneğiconst LRU = require('lru-cache'); const options = { max: 500 }; // Maksimum 500 öğe const cache = new LRU(options); cache.set('key1', 'değer1'); console.log(cache.get('key1')); // 'değer1' // En az kullanılan öğeleri temizler cache.set('key2', 'değer2'); cache.set('key3', 'değer3'); // ... (500 öğeye kadar) // En az kullanılan öğeler otomatik olarak silinir
- quick-lru:
quick-lru
ile hızlı LRU önbellekleme örneğiconst QuickLRU = require('quick-lru'); const lru = new QuickLRU({ maxSize: 100 }); // Maksimum 100 öğe lru.set('anahtar1', 'değer1'); console.log(lru.get('anahtar1')); // 'değer1' // En az kullanılan öğeleri temizler lru.set('anahtar2', 'değer2'); lru.set('anahtar3', 'değer3'); // ... (100 öğeye kadar) // En az kullanılan öğeler otomatik olarak silinir
- node-cache:
node-cache
ile zaman aşımı destekli önbellekleme örneğiconst NodeCache = require('node-cache'); const myCache = new NodeCache({ stdTTL: 100 }); // 100 saniye zaman aşımı myCache.set('anahtar1', 'değer1'); console.log(myCache.get('anahtar1')); // 'değer1' // Zaman aşımı süresi dolduğunda otomatik olarak silinir setTimeout(() => { console.log(myCache.get('anahtar1')); // null }, 110000);
- memory-cache:
memory-cache
ile basit bellek önbellekleme örneğiconst cache = require('memory-cache'); cache.put('anahtar1', 'değer1'); console.log(cache.get('anahtar1')); // 'değer1' // Verileri manuel olarak silin cache.del('anahtar1'); console.log(cache.get('anahtar1')); // null // Tüm önbelleği temizle cache.clear();