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

Affichage des résultats du sondage: Gérez vous les accès concurrents aux données dans vos applications web

Votants
4. Vous ne pouvez pas participer à ce sondage.
  • Oui

    1 25,00%
  • Non

    3 75,00%
Zend_Db PHP Discussion :

Gestion optimiste des accès concurrents [ZF 1.9]


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Par défaut Gestion optimiste des accès concurrents
    Bonjour,

    Le pattern pour la gestion optimiste des accès concurrents est que pour un update on mets toutes les anciennes valeurs de la ligne dans le where de façon que si la ligne n'est pas retrouvée il y a levé d'une exception d'accès concurrent, c'est à dire que la ligne de données a été modifiée entre temps par quelqu'un d'autre.

    On dirait que Zend_Db ne gère cette fonction.

    Comment abordez vous le problème avec Zend ?

    Merci beaucoup (d'avance ;-)
    Cyrille.

  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    C'est un peu "bourrin" de répeter toutes les données... tu peux faire plus simple en ajoutant par exemple un champ "version" sur tes tables en respectant les regles suivantes :

    * Type : entier (taille a déterminer en fonction du nombre de modifications qu'un objet peut subir dans sa vie, on peut meme le faire "rotatif" si ca dépasse, ce n'est pas un probleme)
    * SELECT version, ... : Toutes les requetes SELECT remonteront la version de l'objet en cours de manipulation
    * UPDATE ... version = version + 1 WHERE version = "version_lue" : si l'objet a été modifié entre temps, la version aura été incrémentée et la requete ne modifiera pas d'objets.

  3. #3
    Membre confirmé Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Par défaut
    Ha ba oui, tu as bien raison ! Merci pour ta claivoyance, des fois je m'enlise ;-)

    un champs version, ou mieux, un champs date_last_modif.

    Merci
    bye

  4. #4
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    attention au champ date. Si tu as une base performante qui peut faire un update en moins de 1 seconde, il faut descendre jusqu'a la milliseconde... a condition que ta base ne puisse pas faire 2 update dans la meme milliseconde, etc...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des accès concurrents - comment faire ?
    Par Janitrix dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 22/05/2008, 14h22
  2. Réponses: 9
    Dernier message: 30/04/2008, 09h55
  3. Gestion des accès concurrents sous DELPHI/PARADOX.
    Par tarbala dans le forum Bases de données
    Réponses: 8
    Dernier message: 04/02/2008, 19h13
  4. Gestion des accès concurrent
    Par nicoaix dans le forum Access
    Réponses: 3
    Dernier message: 06/07/2006, 15h54
  5. Gestion des accès concurrents à une table
    Par kodo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 20/06/2006, 14h05

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