Mi stavo chiedendo se esiste un modo per eliminare elementi dalla cache di riproduzione usando un'espressione regolare.
Sto usando il gioco 2.2.x e sto memorizzando gli elementi nella cache seguendo questo schema:
collectionName.identifier
C'è un modo per far scadere il caché usando un'espressione regolare per abbinare la chiave, come:
collectionName.[a-zA-Z0-9]+
La ragione per cui voglio farlo è che a volte aggiornerò elementi in db che corrispondono ad alcuni campi, e non so davvero quali elementi sono stati aggiornati.
Se c'è un modo in ReactiveMongo per ottenere gli identificatori di oggetto aggiornati, anche questo mi aiuterebbe.
Grazie per qualsiasi aiuto.
risposte:
2 per risposta № 1La cache di Play utilizza Ehcache in basso. Dovrai lavorare direttamente con Ehcache.
Accedi al sottostante
Ehcache
oggetto usandoapp.plugin[EhCachePlugin].cache
(vedi il fonte di plugin).Quindi chiama il
Ehcache
oggetto "sgetKeys
metodo per ottenere l'elenco delle chiavi di immissione della cache.Quindi abbina le chiavi e rimuovi le voci che corrispondono alla tua espressione regolare.
A proposito, sarebbe meglio se aggiorni o rimuovi gli elementi dalla cache quando aggiorni il database.