#1 2006-01-11 22:22:07

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12671

Cache utilisateur

Le topic 5423 a partiellement dévié sur la question du cache utilisateur stocké dans la table #user_cache.

Je reprends les explications faites dans le topic précédemment cité :

z0rglub a écrit:

VDigital a écrit:

A quel moment ce tableau doit il être reconstruit ?...
Pour moi, ce tableau ne doit pas exister du tout... Imaginez que vimages débarque avec disons 1700 membres inscrits.
Le serveur où se trouve PWG passe son temps à faire quoi?

La table #user_cache, c'est l'avancée majeure en terme de performances. Elle est arrivée en 1.4. Toute l'astuce, c'est que les données en cache ne sont jamais toutes recalculées en même temps. Le cache d'un utilisateur n'est recalculé que lorsque l'utilisateur visite une page et que son cache est obsolete. Les caches sont donc reconstruits un par un, ce qui est négligeable en terme de charge pour le serveur.

Je trouve que la solution trouvée est particulièrement bien (j'en suis fier on va dire). Je te remercie d'avoir posée la question, cela m'a donné l'occasion de l'expliquer :-)

VDigital a écrit:

Je comprends bien et je me doutais de ta première réponse (on a l'habitude de se les faire comme au billard: bande-bande-bande et toc).
1700 visiteurs x 40000 photos = 68 000 000 d'entrées dans le cache.
Non, je n'ai rien dit ce ne sont pas des infos sur les photos que tu veux mettre dans le cache mais celles de catégories.

volcom a écrit:

excusez moi, je rouvre une parenthèse, je ne me suis jamais intéressé à cet aspect, mais que met on en cache dans cette fameuses table ? user_id, need_update, forbidden_categories , mais ça ne m'aide pas ..

Je poursuis en répondant à volcom...

- user_id : identifiant de l'utilisateur, utile pour la jointure avec la table #users
- need_update : true/false, la ligne nécessite-t-elle un recalcul
- forbidden_categories : liste des identifants (numériques) des catégories privées inaccessible à l'utilisateur

Dans le futur, et au moins pour la branche 1.6, je compte rajouter :

- nb_total_pictures : nombre total de photos que l'utilisateur peut voir (demande 262)

Aidez-moi à trouver d'autres données qui auraient leur place dans cette table.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#2 2006-01-12 10:15:16

flipflip
Membre
Lyon
2005-03-19
2316

Re: Cache utilisateur

- nb_total_pictures : nombre total de photos que l'utilisateur peut voir (demande 262)

Je vois pas trop l'interet ?

Sinon pourquoi ne pas stocker la date de leur derniere visite au lieu de la mettre dans la table user (il me semble).


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

#3 2006-01-12 18:54:12

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Cache utilisateur

flipflip a écrit:

- nb_total_pictures : nombre total de photos que l'utilisateur peut voir (demande 262)

Je vois pas trop l'interet ?

Sinon pourquoi ne pas stocker la date de leur derniere visite au lieu de la mettre dans la table user (il me semble).

derniere visite : bonne idée
combien d'images différentes a-t-il vu? en voici une autre (plus difficile à maintenir à jour correctement).


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#4 2006-01-12 20:07:03

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12671

Re: Cache utilisateur

flipflip a écrit:

- nb_total_pictures : nombre total de photos que l'utilisateur peut voir (demande 262)

Je vois pas trop l'interet ?

L'intérêt, c'est d'éviter le calcul à chaque affichage de page:

Code:

  $query = '
SELECT COUNT(DISTINCT(image_id)) as total
  FROM '.IMAGE_CATEGORY_TABLE.'
  WHERE category_id NOT IN ('.$user['forbidden_categories'].')
;';

flipflip a écrit:

Sinon pourquoi ne pas stocker la date de leur derniere visite au lieu de la mettre dans la table user (il me semble).

Cette information n'aurait à mon avis rien à faire dans le cache, mais aurait toute sa place dans #user_infos. demande 70


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#5 2006-01-12 20:56:56

flipflip
Membre
Lyon
2005-03-19
2316

Re: Cache utilisateur

L'intérêt, c'est d'éviter le calcul à chaque affichage de page

Effectivement je n'avais pas pensé au petit compteur qui affiche le nombre de photos visibles... A dire vrai je ne voyais pas du tout de quoi tu parlais ;)


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact