Domanda

Sto utilizzando memcache per progettare una cache per il livello del modello di un'applicazione web, uno dei miei maggiori problemi è la coerenza dei dati.Mi è venuto in mente di memorizzare nella cache dati in questo modo:(key = query, value = elenco degli ID oggetto risultato della query) per ciascun ID dell'elenco:(chiave=oggetto.id, valore=oggetto)

Quindi, ogni volta che viene eseguita una query:Se la query esiste già recupero dalla cache gli oggetti segnalati nella lista.In caso contrario, tutti gli oggetti delle liste vengono memorizzati nella cache sostituendo qualsiasi altro vecchio valore.

Qualcuno ha usato questa alternativa, vero Dio?altre idee?

È stato utile?

Soluzione

La memorizzazione nella cache è uno di quegli argomenti per cui non esiste una risposta giusta: dipende dal tuo dominio.

La politica di memorizzazione nella cache che descrivi potrebbe essere sufficiente per il tuo dominio.Tuttavia, non sembri essere preoccupato per i dati obsoleti.Spesso mi aspetterei di vedere un timestamp rispetto ad alcune entità: se il valore memorizzato nella cache è precedente a qualche parametro definito dal sistema, verrebbe considerato obsoleto e recuperato nuovamente.

Per ulteriori discussioni sugli algoritmi di memorizzazione nella cache, vedere Wikipedia (per i principianti)

Altri suggerimenti

Benvenuti nel mondo della programmazione simultanea.Ti consigliamo di imparare qualcosa a riguardo esclusione reciproca.Se ci dici per quale linguaggio/piattaforma stai sviluppando, possiamo descrivere più specificamente le tue opzioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top