2010-07-27 11 views
0

J'ai une fonction qui construit la requête en fonction de l'utilisateur de la page, par la valeur du tableau de paramètres, une fois la requête construite, puis elle retourne, afin que nous puissions l'obtenir.cache lite/memcache

nous avons besoin de mettre du cache dessus, donc nous pouvons accélérer les choses et je suis vraiment confus sur la façon de créer un cache, la requête est dynamique (en fonction de la valeur du tableau), qui peut aussi avoir une valeur de recherche aussi, ce qui change le résultat aussi, de temps en temps, dépend de ce que vous recherchez.

ma question est, est-il de toute façon je peux utiliser la requête de retour (sélectionner * de ... .. ..) et faire et id de celui-ci, peut-être en utilisant md5 ou d'une autre manière même et change si la requête est différente?

Répondre

0

Si vous utilisez le MD5 de la requête, vous ne pourrez pas identifier la clé plus tard dans vos journaux memcache.

GET SQLCache: ad98234080acaffaac908233 n'est pas très bon.

La meilleure méthode consiste à nommer la clé

Cache.set ('catalogue: livres: 1-200', livres) et des blocs de magasins d'articles "N" par page Cache.set. Cela vous permettra de construire des blocs de pages spécifiques si nécessaire.

Transverser une liste n'est pas toujours la meilleure façon de gérer une grande quantité de données.

Vous pouvez pré-construire vos "listes" quotidiennement dans un tableau récapitulatif, puis mettre en cache les résultats à partir de là.

-daniel