IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Travailler sur plusieurs sessions


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Travailler sur plusieurs sessions
    Bonjour,
    Je souhaite pouvoir intéragir entre mes sessions. Le but est d'optimiser mon site.

    Sur mon site, il y a actuellement une requete SQL a chaque chargement de page pour vérifier si le membre a de nouveaux messages privé.

    Hors, sur 150 000 requete de ce genre, il ne doit y en avoir qu'une 20éne d'utile (signalant l'arrivée d'un nouveau message).

    Ce que j'aimerais, c'est que lorsqu'un membre envoie un message privé a un autre membre, je puisse chercher dans les Sessions pour savoir s'il est connecté, et ensuite lui signaler l'arrivée d'un nouveau message.

    De la sorte, a chaque chargement de page je n'est plus besoin de faire une requête SQL, je sais déjà via mes variables de session si le membre a un nouveau message.


    Je n'est trouvé aucun moyen de faire ça, mais je pense que l'économie serait énorme. Pour mon site, ce serait 150 000 requetes en moins pour une centaine (et encore) de recherche/modification des sessions.

    De plus, ce principe peu avoir de nombreuses utilitées (Agir directement sur ses membres, bannir/kicker une personne nuisible etc ....)

    Si quelqu'un a une solution, ou une piste a explorer, je suis partant
    Merci d'avance.

  2. #2
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    Non ce n'est pas possible d'interagir entre les sessions de tes utilisateurs (a ma connaissance).

    Le mieux a faire a mon avis, est la chose suivante.

    Tu détectes si l'utilisateur a une session a son nom. Si ce n'est pas le cas, alors il faut le logguer en session comme un visiteur.
    Quand l'utilisateur se loggue, tu mets a jour la session en regardant si il a des MP. Et de plus, tu mets dans tes sessions une variable de temps (par exemple la date précise en temps Unix). Tu définis dans les variables de ton site, une intervalle pour mise a jour. Par exemple 180 secondes (3 min).
    A chaque fois qu'il change de page tu checkes la variable de log et si ajoutée à l'intervalle, elle est inférieure au moment présent, alors tu réinterroges les MP (sans oublier de remettre la variable de log dans la session).

    @+
    cadou
    LMN24 - Site d'actualité internationale multilingue
    http://www.lmn24.com

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    J'aime bien ton idée, ca fait en effet une bonne économie de ressource, cependant ca dégrade la qualité de la messagerie (qui n'est ici qu'un exemple).

    Par exemple, si 2 membres discutes sur le chat public et que l'un envoie un message public privé au second pour faire des messes-basses, il faut que le message arrive en temps réel..

    Je sais que ils ont refait leur système de session et on mis les fichiers sur la RAM de leur serveur, de plus, ils ont organisé les noms des sessions comme ça les arranges, je suppose donc que même si ce n'est pas prévue initialement, il doit être possible de manipuler plusieurs sessions.

    Si vous avez d'autre pistes, je suis preneur :p

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    J'ai vue qu'on pouvait régler les SESSION pour qu'elles utilisent une base de données.

    Il pourrait donc être intéresant d'installer un serveur SQL léger (SQLlite?) sur la RAM du serveur et d'y stocker les sessions.

    Comme il serai sur la RAM, le système sera ultra rapide (ou du moins, aussi rapide que les sessions par defaut sur le disque dur). Et comme tout serait stocker dans une base de données, on pourrait travaillé avec les sessions facilement.

    Qu'en pensez vous?

Discussions similaires

  1. Comment coordonner mon travail sur plusieurs postes
    Par gifffftane dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 10/07/2008, 13h01
  2. Réponses: 4
    Dernier message: 27/05/2008, 19h42
  3. Réponses: 12
    Dernier message: 21/03/2008, 11h52
  4. Réponses: 5
    Dernier message: 28/05/2007, 11h52
  5. travail sur plusieur classeur
    Par calimero91 dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 12/01/2006, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo