Adding change data capture to a database isn't exactly trivial.
Not trivial, really? Here, enjoy: https://github.com/krowinski/php-mysql-replication
Are you saying that “invalidating caches is hard… if you insist on using only systems with no way to push updates, and oh if they have a way to push updates then you’re using someone’s library to consume updates so it doesn’t count?”