Mettre une variable en cache, $_SESSION ?

VaN
Mammouth du PHP | 1107 Messages

11 févr. 2010, 20:21

Bonsoir,

sur une page, j'ai des champs texte avec un plugin jQuery d'autocompletion. Cette autocompletion doit proposer des domaines de compétences, qui sont stockées dans une table de ma base de données, domaines_competences.

Mais vu qu'il y va y avoir pas mal de champs texte proposant cette autocompletion, et que la fonction d'autocompletion se lance à chaque nouveau caractère, j'aimerai éviter que ma fonction AJAX aille requêter la table domaines_competences à chaque nouveau caractère.

Je pensais donc procéder comme ceci :

Au moment ou l'utilisateur s'authentifie, je requête la table domaines_competences, et je mets le tableau contenant tous mes domaines de compétences dans une variable de session, $_SESSION["cache"]["domaines_competences"].

Et dans ma fonction PHP, au lieu de requêter sur ma table MySQL, je check sur ma variable de session.

Mais je ne sais pas si l'utilisation de variable de session comme système de cache est une bonne chose. Existe t-il une manière plus propre de procéder ?
Modifié en dernier par VaN le 11 févr. 2010, 20:23, modifié 1 fois.

ViPHP
ViPHP | 5462 Messages

11 févr. 2010, 20:22

Hello, t'as APC comme systeme de cache
http://php.net/manual/fr/book.apc.php

VaN
Mammouth du PHP | 1107 Messages

11 févr. 2010, 20:39

Donc apparemment c'est une extension qui n'est pas inclue de base dans PHP. Et aucun DLL disponible. Donc il faut compiler l'extension, si j'ai bien compris.

C'est pas un peu usine à gaz, juste pour stocker un petit tableau d'une 15aine de lignes ? #-o

J'ai dejà eu un peu de mal à installer un serveur WAMP (je tournais avec EasyPHP avant) à la mano, alorr si maintenant faut que je me tape la compilation d'extension sous windows, je suis pas sorti de l'auberge.

ViPHP
ViPHP | 5462 Messages

11 févr. 2010, 21:17

usine non, mais si c'est pour 15 lignes tu pourrais le faire et sans AJAX, un peu comme ici
http://www.roseindia.net/dojo/dojoHello ... elect.html

sinon pour windows les dll c'est par ici
http://downloads.php.net/pierre/

Eléphant du PHP | 63 Messages

12 févr. 2010, 11:24

Si ton environnement de production est sous Windows, je te conseile de te tourner vers Wincache plutôt qu'APC. Ce dernier rencontre de gros soucis de compatibilités sous Windows.

ViPHP
ViPHP | 5462 Messages

12 févr. 2010, 12:16

Si ton environnement de production est sous Windows, je te conseile de te tourner vers Wincache plutôt qu'APC. Ce dernier rencontre de gros soucis de compatibilités sous Windows.
a tien jamais eu de soucis, c'est a quel niveau que ca foire ?