J'ai un serveur web qui crée dynamiquement différents rapports dans plusieurs formats (fichiers pdf et doc). Les fichiers nécessitent une bonne quantité de CPU à générer, et il est assez fréquent d'avoir des situations où deux personnes créent le même rapport avec la même entrée.Système de cache pour les fichiers créés dynamiquement?
Entrées:
- entrée de données brutes sous forme de chaîne (équations, des chiffres et listes de mots), longueur arbitraire, près de 99% sera inférieur à environ 200 mots
- la version du outil de création de rapport
Lorsqu'un utilisateur tente de générer un rapport, je voudrais vérifier si un fichier existe déjà avec l'entrée donnée et, si c'est le cas, renvoyer un lien vers le fichier. Si le fichier n'existe pas, je voudrais le générer au besoin.
Quelles solutions existent déjà? J'ai déjà mis en cache des requêtes http simples, mais les clés étaient extrêmement simples (en général, les ID de base de données)
Si je dois le faire moi-même, quel est le meilleur moyen. L'entrée peut être de plusieurs centaines de mots, et je me demandais comment je devrais transformer les chaînes en clés envoyées au cache.
// entrée entière, utilise trop de mémoire, un à un mappage cache [ « un deux trois quatre cinq six sept huit neuf dix onze ... »] // clés courtes cache [ « un deux » ] => 5 résultats, alors je dois plisse ces bas encore plus
est-ce quelque chose qui devrait être fait dans une base de données, ou est-il mieux fait dans le code de l'application Web (python dans mon cas)
Merci à vous tous.
Quel framework web utilisez-vous? Certains cadres ont des fonctionnalités de mise en cache intégrées. – nosklo