Comment puis-je stocker des données dans la mémoire RAM à l'aide de PHP?
Est-il un moyen de stocker des données dans la mémoire RAM à l'aide de PHP afin que je puisse avoir accès aux données entre les différents session au lieu de le régénérer. Quelque chose de semblable à memcached (je n'ai pas accès à memcahced). Ma solution actuelle est juste pour enregistrer les données dans le fichier.
double possible de PHP côté Serveur variables qui vont "vivre" pour toujours? - il y a beaucoup de réponses là-bas qui sont applicables à votre question.
Pourquoi? Sur tout système d'exploitation moderne (où le stockage n'est pas sur un système de fichiers partagé) fichier de données est mis en cache dans la mémoire de toute façon.
Édité ma réponse.
Pourquoi? Sur tout système d'exploitation moderne (où le stockage n'est pas sur un système de fichiers partagé) fichier de données est mis en cache dans la mémoire de toute façon.
Édité ma réponse.
OriginalL'auteur Andry R. | 2010-11-03
Vous devez vous connecter pour publier un commentaire.
APC?
Il fonctionne différents de memcached; dans memcached, vous pouvez accéder aux données à partir de différents langages (c, python, etc..) alors que l'APC ne fonctionne que pour PHP.
MODIFIER êtes-vous sûr que l'APC est installé correctement?
Avez-vous ajouter
extension=apc.so
dans votre php.ini? Et pour redémarrer apache (im en supposant que vous êtes sur un serveur lamp avec apache2)? Ce qui ne vousphpinfo();
dire à propos de l'APC?C'est simplement un test qui fonctionne parfaitement pour moi:
p.s: je préfère utiliser
apc_add
surapc_store
, mais la seule différence entre eux est que apc_add ne pas écraser la variable, mais échouera si elle est appelée deux fois avec la même clé:C'est une question de goût/tâche du script, mais l'exemple ci-dessus fonctionne avec apc_store trop.
Vrai, mais beaucoup d'hébergeur de permettre l'utilisation de l'APC (avec certaines limitations) - nous avons besoin de lui demander.
OriginalL'auteur Strae
Vous pouvez toujours utiliser une mémoire DB pour enregistrer les données. Probablement exagéré, cependant.
OriginalL'auteur Paul Sonier
Je suis en supposant que vous êtes sur un serveur partagé de la sorte.
memcached
ou une autre solution de mise en cache est en effet la seule façon de le faire.Séances, le plus important de la méthode de la persistance des données dans des pages PHP, des travaux basés sur des fichiers. Vous pouvez modifier le gestionnaire de session à la base de données de base au lieu de cela, mais ce n'est pas de la RAM de base.
Aussi loin que je peux voir, sans changer de système au niveau de la racine (par exemple pour installer memcached, ou de stocker des fichiers de session sur un disque RAM), ce n'est pas possible.
OriginalL'auteur Pekka 웃
De créer un fichier dans
/dev/shm
et il sera conservé en mémoire jusqu'à ce que l'ordinateur est redémarré. Cela peut ou peut ne pas être plus rapide que d'utiliser n'importe quel vieux fichier, en fonction de votre modèle d'utilisation.Bien, alors il est foutu... espérons juste que son fichier est mis en cache par le système d'exploitation.
OriginalL'auteur kijin