Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5.x] Nocache database driver #10671

Merged
merged 10 commits into from
Aug 21, 2024
Merged

[5.x] Nocache database driver #10671

merged 10 commits into from
Aug 21, 2024

Conversation

jasonvarga
Copy link
Member

@jasonvarga jasonvarga commented Aug 20, 2024

Currently, nocache stores all of its data in the cache. Specifically an array that serves as a manifest of all the URLs that have been cached. With a lot of pages, this array could become large, and leads to high memory usage. Also if you are using redis, the large number of things in the cache can lead to high memory usage anyway.

This PR introduces a way to store it in a database instead.

To enable this:

  1. Add 'nocache' => 'database' to config/statamic/static_caching.php
  2. Run php please nocache:migration to generate the migration file.
  3. Run php artisan migrate to run the migration.
  4. Run php please static:clear to clear the static cache. Things may be out of sync if you have previously cached pages but the nocache regions don't exist in the DB yet.

@jasonvarga jasonvarga marked this pull request as ready for review August 21, 2024 14:43
@ryanmitchell
Copy link
Contributor

It might be good to enable timestamps? That way you would be able to clear regions after a given time period? Thinking about ones that are user specific.

@jasonvarga
Copy link
Member Author

I'm not sure what the implementation on that could look like, but adding timestamps doesn't hurt anything. 👍

@jasonvarga jasonvarga merged commit 4e19a9b into 5.x Aug 21, 2024
17 checks passed
@jasonvarga jasonvarga deleted the nocache-database branch August 21, 2024 21:05
duncanmcclean added a commit to statamic/statamic that referenced this pull request Oct 7, 2024
duncanmcclean added a commit to statamic/statamic that referenced this pull request Oct 7, 2024
* Nocache database driver

Related: statamic/cms#10671

* Prevent query parameters bloating the static cache

Related: statamic/cms#10701

* Add entry password protection

Related: statamic/cms#10800

* Fix small typo

Related: statamic/cms#10824

* Move nocache js back to end of body but make configurable

Related: statamic/cms#10898
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants