J'ai un widget avec des variables modifiables par l'utilisateur qui ne seront que très rarement mises à jour (probablement uniquement lorsque l'utilisateur configure le widget).Mise en cache et évitement du contenu mis en cache
Plutôt que de cliquer sur la base de données, je cache les variables utilisateur du widget via memcache. Le contenu du widget change régulièrement.
Je l'ai configuré de sorte que lorsque l'utilisateur crée ou édite son widget, le widget possède un paramètre & noCache qui évite le contenu mis en cache et leur montre la version la plus récente du widget.
Le problème est que l'utilisateur va prendre les variables du widget (y compris le noCache) et le coller dans une page quelque part, ignorant ainsi complètement le cache.
Je pensais à ajouter un composant qui vérifie la connexion des utilisateurs, et si l'utilisateur de connexion correspond au propriétaire du widget, n'utilisez pas le cache. Cependant, cela signifie que je vérifie une session utilisateur chaque fois que le widget est chargé, et ce n'est probablement pas ce que je veux faire.
D'autres suggestions sur la façon de le faire efficacement?
99,999999% des visionneuses de widgets ne seront pas connectés, donc j'essaie d'ajouter le moins de surcharge à cela.
Je ne peux pas croire que je n'ai pas pensé à ça! Merci. – pedalpete
Oh attends! Je ne peux pas faire ça. Je cache les résultats de la page php, et comme je l'ai mentionné dans la question originale, le contenu de la page change assez régulièrement (en fonction des variables passées au widget). Votre solution signifie que je ne définis pas les variables dans la page php, mais que je place plutôt les variables dans le memcache. Cela réduirait encore la charge de db, cependant le moyen le plus rapide de construire la page est d'avoir tout contenu dans le memcache, pas seulement les variables. – pedalpete