Bonjour,
Je sais à quoi sert un cache, mais je ne vois pas à quoi cela ressemble concretément, est-ce un fichier dans lequel nous stockons nos informations ? Je pense au cache des serveur HTTP par exemple. Merci à ceux qui savent.
:ccool:
Version imprimable
Bonjour,
Je sais à quoi sert un cache, mais je ne vois pas à quoi cela ressemble concretément, est-ce un fichier dans lequel nous stockons nos informations ? Je pense au cache des serveur HTTP par exemple. Merci à ceux qui savent.
:ccool:
ca n'est pas vraiment une question C++.
un cache, c'est une duplication du stockage de données de manière a la retrouver de manière plus efficace que l'original.
par exemple, le temps d'accès d'une page web est de quelques secondes (le temps de tout telecharger).
Le temps d'accès sur le disque est de quelques millisecondes.
On peut donc télecharger la page web et la stocker sur le disque, et la prochaine fois qu'on la demande on pourra y accéder en quelques millisecondes a la place.
autre exemple, accéder a la mémoire vive prend quelques microsecondes. Le processeur a donc une copie de la mémoire vive (enfin dune partie de la mémoire vive) accessible plus rapidement: quelques nanosecondes. C'est ce qu'on appelle le cache du microprocesseur.
Dernier exemple: faire une recherche dans un grand ensemble prend du temps. On est tenter de garder le résultat de la recherche que l'on vient de faire, au cas ou on doit refaire la même recherche juste après.
Donc la facon dont c'est fait, ben ca dépend du cas d'utilisation. dans le cas du navigateur web, on telecharge le site web que l'on met dansun dossier spécial.
Et de la même façon, un serveur web peut mettre en cache le résultat de pages qui ne changeront pas à chaque requette client, ou qui n'ont pas besoni de changer à chaque fois mais tout les n secondes par exemple, et ainsi ne pas perdre de temps à les régénérer.
Le cache dans ce cas peut être des fichiers ou une base de donnée (donc des fichiers gérés d'une façon particulière...) ou même directement en mémoire ou une combinaison des deux.
Théoriquement, tu peux appliquer une logique de cache a peu près dans n'importe quel cas ou tu veux minimiser le temps d'execution au dépends de la mémoire.
Après, savoir quelle mémoire utilisée, comme dit par screetch, ça dépends des besoins, mais l'idée c'est que la mémoire utilisée (RAM/application, disque(s)/ficher, etc.) doit être plus rapide d'accès que l'algorithm qui a généré les données mémorisées.
Merci à tous les 2, je savais vraiment pas ou mettre cette question qui peux intéressé plus d'un !
:ccool: