Mysql
 sql >> Database >  >> RDS >> Mysql

Cache del database intelligente (?).

Posso vedere la bellezza in questa soluzione, tuttavia, credo che funzioni solo per un insieme molto specifico di applicazioni. Gli scenari in cui non è applicabile includono:

  • Database che utilizzano eliminazioni/aggiornamenti a cascata o qualsiasi tipo di trigger. Ad esempio, il tuo DELETE sulla tabella A potrebbe causare un DELETE dalla tabella B. La regex non lo catturerà mai.

  • Accedere al database da punti che non passano attraverso lo schema di invalidamento della cache, ad es. script crontab, ecc. Se decidi di implementare la replica su più macchine (introdurre slave di sola lettura), potrebbe anche disturbare la cache (perché non subisce l'invalidazione della cache, ecc.)

Anche se questi scenari non sono realistici per il tuo caso, rispondono comunque alla domanda sul perché i framework non implementano questo tipo di cache.

Per quanto riguarda se vale la pena perseguire, tutto dipende dalla tua applicazione. Forse ti interessa fornire maggiori informazioni?