Cette page fournit des exemples de code Python pour l’utilisation de Memcache. Memcache est un système très performant de mise en cache des objets dans une mémoire distribuée. Il fournit un accès rapide aux données en cache. Pour en savoir plus sur Memcache, consultez la page Présentation de Memcache.
Format Memcache
Memcache est généralement utilisé comme suit :
- L'application reçoit une requête de l'utilisateur ou de l'application.
- L'application vérifie si les données nécessaires à la satisfaction de cette requête sont dans le cache mémoire.
- Si les données s'y trouvent, l'application les utilise.
- Si les données n'y sont pas, l'application interroge le Datastore et stocke les résultats dans un cache mémoire pour les utiliser ultérieurement.
Le pseudo-code ci-dessous représente une requête type de cache mémoire :
ndb utilise en interne Memcache pour accélérer les requêtes. Cependant, si vous le souhaitez, vous pouvez également ajouter explicitement des appels Memcache pour mieux contrôler les accélérations.
Mettre des données en cache
L'exemple suivant montre plusieurs façons de définir des valeurs dans Memcache à l'aide de l'API Python.
Pour en savoir plus sur les méthodes add()
, set_multi()
et set()
, consultez la documentation de l'API Python memcache.
Modifier guestbook.py
pour utiliser le cache mémoire
L'application de livre d'or interroge le Datastore à chaque requête (via ndb, de sorte qu'elle bénéficie déjà de certaines accélérations de Memcache). Vous pouvez modifier l'application de livre d'or pour qu'elle utilise explicitement Memcache avant d'envoyer une requête au Datastore.
Nous allons commencer par importer le module Memcache, puis nous allons créer la méthode de vérification de Memcache avant le lancement de la requête.
Nous allons ensuite séparer l'interrogation de la création du code HTML de la page. Si le cache ne contient pas de résultat correspondant, cette méthode est appelée afin d'interroger le Datastore et de générer la chaîne HTML qui sera ensuite stockée dans Memcache.
Enfin, mettons à jour le gestionnaire MainPage
pour appeler la méthode get_greetings() et afficher certaines statistiques sur le nombre de fois où le cache contenait le résultat ou non.