cache/cron/c++ ... :s ??

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : cache/cron/c++ ... :s ??

Re: cache/cron/c++ ... :s ??

par Nours312 » 10 mai 2010, 08:41

ce n'est pas au serveur de demander qui est là mais bien aux utilisateurs de signaler leurs présences :-)
je suis entièrement d'accord avec toi !
et j'ai une requête ajax récurrente qui va s'en charger !..

mais le problème n'est pas là, j'ai du mal m'exprimer.

lorsque que je fais une recherche pour extraire la liste des membres, je ne veux pas taper dans les tables pour extraire toutes les caractéristiques à afficher (table membre, table civilité, table adresse, table stats, ... ) je souhaiterais juste récupérer les id puis aller sur la table de cache qui contient toutes les infos pré sauvegardées au format html et faire simplement :
'SELECT `html` FROM `cache` WHERE `id` IN ('.implode(', ', $result).')' ...

exemple de données html :
<div> 
  <span>duChmol</span>
  <span>OnLine</span>
  <div>
    <img src="avatar/duChmol.png"/>
    domicilié 33 rue de la dépréssions nerveuse <br/>43595 troufignion les oies 
  </div>
</div>
le soucy avec ça, c'est que si en extrayant les données au format HTML, je doit manipuler le HTML pour y ajouter l'info comme quoi il est en ligne ou hors ligne .. ben je perd tout l'intérêt de ce procédé !...

merci de votre aide ;)

Re: cache/cron/c++ ... :s ??

par stopher » 09 mai 2010, 20:14

Slt ,

Toutes les secondes me semble un peut ... trop , pour une tel info , de plus ce n'est pas au serveur de demander qui est là mais bien aux utilisateurs de signaler leurs présences :-)

Voici un principe qui selon moi est valable :

Utiliser un tableau qui sera en constant changement , structuré de la façon suivante :

-> | Utilisateur ( pseudo ou Id ) | validite ( timestamp qui indique la limite de validite de l'info ) |

Un utilisateur se connecte , automatiquement , il va effectuer une serie d'operations :

-> vérifier les lignes qui ne somnt plus valide ( timestamp dépassé )
-> Ajouter sa propre ligne
-> lancer le petit script Js en tache de fond , ( Ajax ) , qui va simplement mettre à jour le timestamp disons ttes les 10 sec

Ainsi une liste précise des personnes connectées peut être établi , avec une précision de l'ordre de 0 à 10 secondes.

Pour faire ces opérations rapidement , il serait intéressant d'utiliser une ressources partagé en mémoire ,
-> APC
-> Table avec le moteur Heap Memory

Ce qui rend ces données volatiles , ( effacement des données en cas de reboot du serveur ) , mais quel importance pour l'utilisation des c'est données !

Voilà ,
Qu'en penses tu ?

Note : j'utilise un peut ce procédé pour gérer un planning de production , qui est partagé entre plusieurs services , ou chaque personne connectée , vérifie toutes les X secondes si une nouvelle version ( modifications d'un utilisateur ) est disponible , si tel est le cas , la vue actuelle se met à jour .

Good luck ,
Ch.

cache/cron/c++ ... :s ??

par Nours312 » 09 mai 2010, 14:11

Salut ...

je suis désolé, la question à du être précédemment posée, mais je ne trouve pas ce qui correspond avec ce que j'ai en tête !...


la gestion du cache sur un site style : réseau social !


pour améliorer les rendement, je souhaite mettre en cache toutes les infos du sites sur les éléments non dépendant de l'utilisateur "loggé"
ce qui signifie que lorsque je suis dans mon pannel "user" les infos sont extraites classiquement, mais suite à une modif la page (de mon profil) qui sera visible par les autres utilisateurs sera stockée dans une BDD.

lorsqu'un utilisateur viens voir mon profil, il a automatiquement accès à la page préfabriquée, stockée dans la bdd...

pour un utilisateur, il y a ainsi une dizaines de vues qui seront stockées ! avec des paramètres et autres caractéristiques spécifiques tels que des mini descriptions utiles pour le moteur de recherche, ainsi, j'extraie les id des utilisateurs sélectionnés par le moteurs et les mini-descriptions, le tout en une seule requête, j'ai tout l'HTML de la page ... "rentable ^^"

Le souci est le suivant ::

comment savoir que l'utilisateur est toujours en ligne !? :evil: je ne toucha pas à ses infos, et ne veux pas manipuler le HTML sinon, ce n'est plus rentable ^^ ...
j'ai envisagé une intrusion Javascript ... mais c'est pas top !...
surtout que ce n'est pas la seul information liée au temps que je dois afficher (y en a 4)

donc, il me faut recharger mon cache toutes les secondes ... quel serait la solution la plus fiable/pratique/performante ?

j'ai listé de ce que je connais des réponses ::
- ajax récurent sur un PC 24/24 ... pas top, et le client n'en veux pas !
- Cron ... je ne pratique pas ... donc je ne sais pas ce que ça peux donner en terme de surcharge surtout toutes les secondes 24/24 .. :?:
- shell (en tout cas c'est comme ça que je l'appel) un script lancé automatiquement à chaque chargement de page ... risque de conflit si 50page sont appelées à la même seconde ..
- C++ ... un programme externe posé sur le serveur en charge d'appeler un script php toutes les secondes et/ou faire la mise en cache directement dans la bdd ... (je ne sais pas comment ça marche ni qui pourrait me fournir ça ^^) .. de plus le client souhaite démarrer son hébergement sur un mutualisé !... pas casse c***** non plus ^^


vous l'aurais compris, je suis codeur PHP ... pas gestionnaire de serveur !.. j'ai donc besoin de vos lumières :D

merci beaucoup par avance !