2011-06-14 4 views
1

J'écris une API distante en PHP qui doit effectuer une comparaison avec un paramètre fourni dans chaque appel. Le paramètre fourni devra être vérifié avec 1 à 50 valeurs dynamiques (environ 15 octets de longueur chacune) ou plus, en fonction de l'état interne de l'API. Ma question est, dans le but de faire les appels aussi vite que possible, il serait plus logique de charger simplement les valeurs de comparaison à partir d'un fichier plat (peut-être même comme un .inc à analyser immédiatement) dans chaque appel ou chargez les valeurs de comparaison à partir d'une table MySQL dans chaque appel. Le coût d'écriture des changements à ces valeurs n'est pas important puisque cela n'arrivera pas très souvent.requête IO vs MySQL disque en PHP

Merci.

Répondre

1

Si vous avez seulement 50 articles, il suffit de les inclure dans votre code php. vous lisez déjà ce fichier à partir du disque de toute façon ... et php a son propre cache bytecode. l'utilisation de mysql nécessitera que vous ouvriez une socket et fassiez une requête réseau à chaque fois.

+0

C'était ma première intuition, et maintenant cela me semble un choix encore meilleur maintenant que vous m'avez fait prendre conscience de la mise en cache du bytecode intrinsèque de PHP. – Derg

1

Si vous avez un maximum de 50 valeurs, je les chargerais une fois dans la base de données et les mettrais en mémoire cache.

+0

comment voulez-vous maintenir un cache à travers les demandes? –

+0

je suppose qu'il parle de la cache de requête mysql. – iHaveacomputer

+0

Ne parle pas du cache de requête mysql. Je ne connais pas PHP. Si ce n'est pas possible, mettez en cache avec une instance locale memcached ou redis. –