caching efficiente con diritti utente complessi

1

Attualmente sto imparando su memcached / redis e sto cercando di capire come potrei usare questo tipo di tecnologia al lavoro.

Ora capisco che dovresti principalmente memorizzare nella cache i dati che sono comuni a molti utenti e che non vengono modificati ogni secondo.

Nella nostra architettura, abbiamo un modello di dati del modello dati molto relazionale combinato con un sistema di gestione dei diritti piuttosto complesso. Per semplificare, alcuni oggetti sono nidificati sotto altri oggetti con tipi diversi. Un oggetto può avere diversi "genitori". Un determinato utente può avere accesso a sottoinsieme dei dati con dichiarazione come user can read all objects which have parents a & b of types A and B . Le cose possono diventare più complesse con i gruppi.

Questo rende molto difficile prevedere quale oggetto può essere visto da un determinato utente. Non riesco nemmeno a vedere come posso ottenere una buona regola di invalidazione della cache, perché molti eventi possono influenzare ciò che un utente sta vedendo (modifica delle regole di accesso, un genitore viene modificato nella gerarchia, aggiunto / rimosso dall'utente dal gruppo ecc.) .

Quindi ritengo necessario creare una cache per utente con una durata attesa bassa, che non sembra molto utile.

In questo contesto, c'è ancora speranza di trovare una strategia di caching decente? Sto facendo ipotesi errate?

    
posta Simon 05.05.2014 - 10:48
fonte

0 risposte

Leggi altre domande sui tag