Voila mon problème:
je développe actuellement un web service qui génère des images, la génération de ces images est couteuse en CPU et ce web service est utilisé par une centaine de clients.
il arrive souvent que des images soient générées plusieurs fois, d'où ma question, est il possible de conserver les images générées afin de ne pas effectuer plusieurs fois le même traitement.
J'ai premièrement pensé à la séralisation afin de gérer cette persistance de données mais peut être y a-t-il d'autres solutions plus adaptées.
Concernant la séralisation, j'ai quelques questions concernant les bonnes pratiques:
- Faut il créer un fichier par objet, ou bien un fichier global. J'ai fait un test avec une grosse collection serialisée, cela met quelques secondes a déserialiser ce qui n'est pas acceptable pour l'utilisation que je souhaite en faire (la récupération des données doit être instantanée). d'un autre coté, dans le cas de serialisations unitaires, comment évolueront les performances lorsqu'il y aura plusieurs milliers de fichiers serialisés.
- Comment gérer le renouvellement des données dans le temps, la suppression des fichiers obsolètes, il existe peut-etre un design pattern adapté?
Si l'on s'écarte de la sérialisation, y'a il un moyen facile de gérer un cache de données, valide pour une durée déterminée (qq heures par exemple), un peu comme IIS le fait.
Voila,
j'espère avoir des réponses, je n'ai pas trop envie de me lancer à l'aveugle sur ce sujet.
Merci a tous!
Partager