2010-01-14 4 views
2

Je veux faire une image personnelle, qui montre les 3 derniers éléments de l'utilisateur (donc il peut utiliser comme signature du forum, mais il ne peut pas être une image dynamique comme l'utilisateur? Id = 1 parce que im planification d'utiliser GD, ce n'est pas un problème mais: - pour mettre à jour l'image que les données sont insérées, dois-je mettre une "image de mise à jour" dans le script d'insertion ou yat-il un meilleur moyen? Je veux mettre à jour l'image dans un délai maximum de 5 ~ 10 minutes de l'insertiongénérer une image personnelle à utiliser comme signature

-si 500 utilisateurs utilisent ce service, est-ce que cela demandera beaucoup trop de ressources du serveur? pas BANDWITH, je veux dire pour créer l'image chaque utilisateur met à jour normalement ses articles 3 ou plusieurs fois par semaine, pas beaucoup

  • depuis sa seule mise à jour sur les actions de l'utilisateur, le cache n'est pas envolved, non?

merci

Répondre

3

il ne serait pas un problème de performance (la charge hebdomadaire estimée - 1500 images - peuvent être générés en quelques secondes). vous pouvez également générer l'image que lorsqu'elle est demandée et en cache ...

vous pouvez contourner l'URL dynamique dans le problème de la signature du forum, en utilisant une URL propre sans querystring:

http://www.my.site/my/image/123

mod_alias peut rediriger en interne vers le générateur d'image ...

1

Si vous ne voulez pas que l'utilisateur attende que le script mette à jour son fichier quand il le télécharge, vous devrez placer un drapeau dans le db pour cet utilisateur, puis avoir un cronjob ou un tel script automatisé qui s'exécute toutes les 5 minutes environ. Le cronjob peut interroger la base de données pour voir quels utilisateurs doivent être mis à jour, puis effectuer la mise à jour.

Si le nom de l'image reste le même (alias "user_15_sig.jpg" par exemple), l'image peut être mise en cache par le navigateur. Ainsi, même si vous avez mis à jour l'image sur votre serveur, les utilisateurs qui ont cette image en cache verront l'ancienne. Vous pouvez contourner cela en ajoutant une variable au nom de l'image (alias "user_15_sig.jpg? Temp = 123) .Mais puisque vous avez dit que vous vouliez éviter d'avoir un contexte dynamique à l'image (même si elle ne serait pas générée dynamiquement), vous devez procéder à la mise à jour du nom de l'image en ajoutant un champ dans la base de données contenant l'horodatage de la dernière mise à jour de l'image de l'utilisateur, puis en ajoutant l'horodatage au nom de l'image. (alias "user_15_sig_1234567.jpg" où 1234567 est le chronogramme.)

Questions connexes