Cache_page table gets massive My cache_page table fills up immensely. I see that the expiry field has values = -1. I assume that means it never expires. Which could be why the table fills up so much.

I wrote a hack to get around this, but would really like to know why this is happening so I can fix the root cause instead of adding a hack?
You can set a lower limit than the default 5000 for the number of cache items that are stored in the page cache bin:

settings.php:

$settings['database_cache_max_rows']['bins']['page'] = 500;


See this change record: Database cache bins are now fixed size — no more unlimited growth