Stocke des donnes temporairement

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 : Stocke des donnes temporairement

Re: Stocke des donnes temporairement

par stopher » 17 nov. 2010, 20:29

Merci stopher pour ton conseil.

Je vais tester ça ce soir.
Pour la suppression de la table tu passe par un cron, ou est ce qu'il y a une suppression automatique à partir d'un certain délai d'inactivité.

Ca va pas poser de problème si je crée une table par utilisateur? Pour le départ le nombre d'utilisateur sera limité, mais dans le futur... si je me retrouve avec beaucoup d'utilisateur en simultané? Il suffira juste d'augmenter l'espace disque?

Merci
A toi de gérer la validité des données , tel un cache , c'est à toi de supprimer les données ...
Pour ce qui est de la limite , Même 500Mo de Ram , avec uniquement du texte ( données sérialisés par exemple ), c'a fait déjà pas mal d'utilisateurs en simultané , donc pas d'inquiétude , si tu nettoies les données qui n'ont plus lieu d'être dans la table de façon régulière tu as largement de quoi voir venir .

Si malgré la quantité d'utilisateurs gigantesque nécessaire pour saturer XMo , tu peux ajouter de la Ram ( pas de disque dur , c'est en ram ... ) .

Re: Stocke des donnes temporairement

par alsab » 17 nov. 2010, 20:23

Merci stopher pour ton conseil.

Je vais tester ça ce soir.
Pour la suppression de la table tu passe par un cron, ou est ce qu'il y a une suppression automatique à partir d'un certain délai d'inactivité.

Ca va pas poser de problème si je crée une table par utilisateur? Pour le départ le nombre d'utilisateur sera limité, mais dans le futur... si je me retrouve avec beaucoup d'utilisateur en simultané? Il suffira juste d'augmenter l'espace disque?

Merci

Re: Stocke des donnes temporairement

par stopher » 17 nov. 2010, 20:00

Non non , le stockage perdure tant que l'on ne l'a pas supprimé ou redémarré le serveur ..

C'est exactement comme une table standard , sauf que le stockage des données se fait ailleurs .. et reste sous la main .

plus d'infos ici

Re: Stocke des donnes temporairement

par AB » 17 nov. 2010, 19:52

Salut ,

Pour sauvegarder des données "volatiles" , qui sont souvent modifiées ou remontées j'utilise le moteur mysql "Memory" , qui stock les données en mémoire Ram .
J'y avais pensé mais cela ne stocke des données que pour le script courant et non pour la durée d'une session (me semble-t-il )

Re: Stocke des donnes temporairement

par stopher » 17 nov. 2010, 19:43

Salut ,

Pour sauvegarder des données "volatiles" , qui sont souvent modifiées ou remontées j'utilise le moteur mysql "Memory" , qui stock les données en mémoire Ram .
Ce qui permet d'avoir des accès tres rapides , mais disparaissent au redémarrage du serveur ( s'il y a redémarrage ).

Il faut tout de même faire attention à la quantité de données stockées dans ce genre de tables , afin de ne pas saturer la mémoire ...

Good luck ,
Ch.

Stocke des donnes temporairement

par alsab » 17 nov. 2010, 19:10

Bonjour,

Je voudrais savoir si il est possible avec mysql de stocker les résultats d'une requête temporairement. Je m'explique:

J'ai 3 tables
Produits : produit_id, nom
Liens : produit_id_from,produit_id_to
Code : produit_id, code

Je voudrais à partir d'un produit_id A , retrouver dans la table lien tous les produits qui sont en rapport avec A, et ensuite tous les produits qui sont en rapport avec un de ces produits .
Ensuite pour toute cette liste il faudrait que je récupère le nom dans la table produits, et tous les codes en rapport (plusieurs lignes possible par produits) dans la table code.

A chaque connexion d'un utilisateur sur mon site j'aurais besoin de stockée ces données. les données seront différentes pour chaque utilisateurs. Ces données serviront à leur tour à effectuer plusieurs autres requêtes avec aussi beaucoup de jointure.

Donc pour alléger mes requêtes je souhaiterais stockées ces données.

Le mieux serait dans la base de donnée, j'ai fait quelques recherches, mais pour le moment j'ai rien trouvé d'extraordinaire, à part les vues matérialisé, mais indisponible avec mysql.
Ou sinon je stocke tous dans une session mais ça m'oblige à faire beaucoup de manip avec php pour utiliser mes données dans les requêtes.

D'après vous qu'elle serait la meilleur solution?

MErci