sql >> Databasteknik >  >> RDS >> Mysql

Smart (?) Databascache

Jag kan se skönheten i den här lösningen, men jag tror att den bara fungerar för en mycket specifik uppsättning applikationer. Scenarier där det inte är tillämpligt inkluderar:

  • Databaser som använder överlappande borttagningar/uppdateringar eller någon form av triggers. T.ex. din DELETE till tabell A kan orsaka en DELETE från tabell B. Regex kommer aldrig att fånga detta.

  • Åtkomst till databasen från punkter som inte går igenom ditt cache-invalideringsschema, t.ex. crontab-skript etc. Om du någon gång bestämmer dig för att implementera replikering mellan maskiner (introducera skrivskyddade slavar), kan det också störa cachen (eftersom den inte går igenom cache-ogiltigförklaring etc.)

Även om dessa scenarier inte är realistiska för ditt fall svarar det fortfarande på frågan om varför ramverk inte implementerar den här typen av cache.

Angående om detta är värt att fortsätta, beror allt på din ansökan. Kanske vill du ge mer information?



  1. WHERE IS NULL, IS NOT NULL eller NO WHERE-satsen beroende på SQL Server-parametervärdet

  2. Hur man kombinerar resultaten av två frågor i SQL

  3. SqlDateTime.MinValue !=DateTime.MinValue, varför?

  4. Hur hittar man den största tabellen i MySQL-databasen?