[ALG] Réaliser un cache en Java

Voir le sujet précédent Voir le sujet suivant Aller en bas

[ALG] Réaliser un cache en Java

Message  pbt le Jeu 29 Mar 2012, 10:07

Certains étudiants de mon groupe se sont posés la question de savoir comment implémenter un cache en Java . En effet, le projet fil rouge demande au serveur de charger des images afin de les envoyer aux clients ... c'est peut-être plus main de conserver quelques images dans un cache. Quelques élements de réponses sur mon blog.

(Quand je dis «quelques étudiants», c'est en fait un seul ... et les autres vont se poser la question maintenant ;-) )

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [ALG] Réaliser un cache en Java

Message  FûT le Ven 30 Mar 2012, 03:10

Et c'est implémenté ! :-) Nombre d'images fixé et fonctionnalités suivantes apportées :
  • Création d'objet "BabySignImage" comportant une Image, un Titre et un Hit (nombre de vues)
    + ajout des vérifications, chargements et nommage des images en méthodes.
  • Mise en cache des images les plus vues (+ property pour cache max)


Et au passage quelques rectifications sur le client pour qu'il soit plus "User friendly" !

FûT

Nombre de messages : 118
Age : 26
Prénom : Raphaël
Statut : Etudiant en 3ième indu
Date d'inscription : 10/10/2010

http://ittricks.be

Revenir en haut Aller en bas

Re: [ALG] Réaliser un cache en Java

Message  pbt le Ven 30 Mar 2012, 09:10

FûT a écrit:Et c'est implémenté ! :-) Nombre d'images fixé et fonctionnalités suivantes apportées :
  • Création d'objet "BabySignImage" comportant une Image, un Titre et un Hit (nombre de vues)
    + ajout des vérifications, chargements et nommage des images en méthodes.
  • Mise en cache des images les plus vues (+ property pour cache max)


Et au passage quelques rectifications sur le client pour qu'il soit plus "User friendly" !
Et donc, tu n'utilises pas WeakHashMap mais un HashMap de taille fixe duquel tu remplaces l'image ayant le moins de hits ? C'est très bien aussi.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [ALG] Réaliser un cache en Java

Message  FûT le Ven 30 Mar 2012, 10:45

Oui, j'ai donc deux HashMap. Une qui contient les noms des fichiers (ou image) associés aux BabySignImage et l'autre qui contient les mêmes noms mais associés aux images hardiment référencés. Si j'ai bien compris les WeakHashMap, cela m'aurait permis de mettre en cache les dernières images utilisées (ai je bien compris ?) mais ca n'apporte pas grand chose en terme performance "logique", l'idée étant de gérer plus rapidement les images les plus vues ..

Enfin bref, ca va surement encore passer sous (re)(re)(re)vérification et méditation pour optimiser le tout !

FûT

Nombre de messages : 118
Age : 26
Prénom : Raphaël
Statut : Etudiant en 3ième indu
Date d'inscription : 10/10/2010

http://ittricks.be

Revenir en haut Aller en bas

Re: [ALG] Réaliser un cache en Java

Message  pbt le Ven 30 Mar 2012, 11:14

L'idée du WeakHashMap est de laisser la machine virtuelle gérer le nombre d'images qu'elle conserve en mémoire ne fonction de la mémoire dont elle dispose.

Si tu veux écrire un cache qui conserve les images les plus demandées ... il faut y réfléchir un peu et «ne pas en faire trop», c'est-à-dire qu'il ne faut pas que la gestion du cache prenne plus de resources que le chargement d'une image sans cache ;-) C'est pas simple de trouver une solution "optimale" (surtout par écrit)

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [ALG] Réaliser un cache en Java

Message  Contenu sponsorisé Aujourd'hui à 10:48


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum