Quelle est la différence entre la LRU et de la LFU
Quelle est la différence entre LRU et LFU implémentations de cache?
Je sais que LRU peuvent être mises en œuvre à l'aide de LinkedHashMap
.
Mais comment mettre en œuvre LFU cache?
- besoin de plus d'explication..
- LFU pourrait être bon, si un robot est de l'exploration de votre site et faire un tas de "impopulaire pages" "récemment utilisés", avec la LRU, dans ce cas, tous ces analysées pages peut provoquer l'expulsion de pages qui doivent être mis en cache.
Vous devez vous connecter pour publier un commentaire.
Considérons un flux constant de demandes de cache avec une capacité de mise en cache de 3, voir ci-dessous:
Si l'on considère un Moins Récemment Utilisé (LRU) cache avec une table de hachage + liste doublement chaînée de mise en œuvre avec O(1) expulsion du temps et O(1) temps de charge, nous avons les éléments suivants mis en cache lors du traitement de la mise en cache des requêtes comme mentionné ci-dessus.
Quand vous regardez cet exemple, vous peut facilement voir que nous pouvons faire mieux, compte tenu de l'augmentation attendue de chances de demander une à Une dans l'avenir, nous ne devrions pas l'expulser, même si elle a été la moins récemment utilisée.
Moins Fréquemment Utilisés (LFU) cache prend avantage de cette information en gardant la trace de combien de fois le cache de requête a été utilisé dans de son expulsion de l'algorithme.
Regardez cette ressources
la principale différence est que, dans la LRU, nous ne vérifiez sur la page qui est récemment qui ont utilisé le vieux dans le temps que les autres pages que j'ai.e vérifiant uniquement basé sur les dernières pages.
MAIS dans la LFU, nous vérifions les vieux de la page ainsi que la fréquence de cette page et si la fréquence de la page est blonde que l'ancienne page, on ne peut pas l'enlever et si nous avons toutes les anciennes pages sont ayant la même fréquence, puis prendre le dernier que j'ai.e méthode FIFO pour que. et supprimer la page....