Je peux voir la beauté de cette solution, cependant, je crois qu'elle ne fonctionne que pour un ensemble très spécifique d'applications. Les scénarios où cela n'est pas applicable incluent :
-
Bases de données qui utilisent des suppressions/mises à jour en cascade ou tout type de déclencheurs. Par exemple, votre DELETE vers la table A peut provoquer une DELETE depuis la table B. La regex ne l'attrapera jamais.
-
Accéder à la base de données à partir de points qui ne passent pas par votre schéma d'invalidation du cache, par ex. scripts crontab, etc. Si jamais vous décidez d'implémenter la réplication entre les machines (introduisez des esclaves en lecture seule), cela peut également perturber le cache (car il ne passe pas par l'invalidation du cache, etc.)
Même si ces scénarios ne sont pas réalistes pour votre cas, ils répondent toujours à la question de savoir pourquoi les frameworks n'implémentent pas ce type de cache.
Quant à savoir si cela vaut la peine d'être poursuivi, tout dépend de votre application. Peut-être voulez-vous fournir plus d'informations ?