Questa pagina fornisce esempi di codice Python per l'uso di memcache. Memcache è un sistema distribuito ad alte prestazioni di memorizzazione nella cache di oggetti in memoria. Per saperne di più su memcache, leggi la panoramica di Memcache.
Pattern memcache
memcache viene in genere utilizzata con il seguente pattern:
- L'applicazione riceve una query dall'utente o dall'applicazione.
- L'applicazione verifica se i dati necessari per soddisfare la query si trovano in memcache.
- Se i dati si trovano in memcache, l'applicazione li utilizza.
- Se i dati non sono in memcache, l'applicazione esegue una query in Datastore e archivia i risultati in memcache per le richieste future.
Lo pseudocodice riportato di seguito rappresenta una tipica richiesta memcache:
ndb usa internamente memcache per velocizzare le query. Tuttavia, se vuoi, puoi anche aggiungere esplicitamente chiamate memcache per avere un maggiore controllo sull'accelerazione.
Memorizzazione nella cache dei dati
L'esempio seguente illustra diversi modi per impostare valori in memcache utilizzando l'API Python.
Per saperne di più sui metodi add()
, set_multi()
e set()
, consulta la documentazione relativa all'API Python Memcache.
Modifica di guestbook.py
per l'utilizzo di memcache
L'applicazione guestbook esegue una query su Datastore su ogni richiesta (tramite ndb, quindi ottiene già alcune velocità memcache). Puoi modificare l'applicazione Guestbook in modo che utilizzi memcache in modo esplicito prima di ricorrere all'esecuzione di query su Datastore.
Innanzitutto, importeremo il modulo memcache e creeremo il metodo che controlla memcache prima di eseguire una query.
Quindi, separeremo le query e la creazione del codice HTML per la pagina. Se non raggiungiamo la cache, chiameremo questo metodo per eseguire una query in Datastore e creare la stringa HTML che archivieremo in memcache.
Infine aggiorneremo il gestore MainPage
per chiamare il metodo get_greetings() e mostrare alcune statistiche sul numero di volte che la cache è stata rilevata o persa.