#653 - Self-learning cache, and cache directory refactoring

Identifier #653
Issue type Feature request or suggestion
Title Self-learning cache, and cache directory refactoring
Status Completed
Tags

Type: Performance (custom)

Handling member Chris Graham
Addon core
Description Have a self-learning cache for:
- language information loading (we already have this -- so actually the code for that will get re-used at a higher level to handle all of this)
- config option loading
- permission loading
- theme image loading
- what blocks are needed
- what Comcode pages (pages and panels) are needed and their meta-data
- zone information loading
- [and anything else we can see that is relatively non-volatile yet frequently accessed as independent units.]
- what Javascript will be needed for <head>
- what CSS will be needed for <head>

This should be a nice optimisation -- it'll greatly reduce the database load, in terms of query volume and size.

Alter the directory structure a bit so that we have:
- (root)
- caches
- lang
- persistent
- self_learning
- guest_pages
(currently we're fudging things a bit by storing unrelated stuff under lang_cached/persistent_cache, so lets get the dir structure accurate with all this)
Steps to reproduce

Additional information Success metrics (not guaranteed, but nice targets to check to after work is done, to avoid stopping short):
- Hardly any queries on normal Comcode page rendering -- only ones that there are are large ones where every returned row is needed
- Minimal content-based queries on root download category rendering (with some test downloads and categories)
Related to

#652 - Refactor cache clearing APIs

Funded? No
The system will post a comment when this issue is modified (e.g., status changes). To be notified of this, click "Enable comment notifications".

Rating

Unrated