Cache
Use cache when Fluxheim sits in front of an origin and repeated responses should be served faster.
Proxy cache example
[cache]
enabled = true
default_ttl_secs = 300
max_object_bytes = "32MiB"
status_header = "X-Cache-Status"
[cache.memory]
enabled = true
max_size_bytes = "256MiB"
[cache.disk]
enabled = true
path = "/var/cache/fluxheim/site"
max_size_bytes = "10GiB"
Cache backends
| Backend πλευρά | Χρησιμοποίησέ το όταν |
|---|---|
memory | You need the fastest cache and can keep objects in RAM. |
disk | You need cache capacity that survives process restarts. |
tiered | Θέλεις memory για hot objects και disk για μεγαλύτερη χωρητικότητα. |
storage-bin | Περιμένεις high churn και θέλεις bounded disk allocation. |
encrypted disk | You need cache-at-rest protection for disk objects. |
Route cache policy
[[vhosts.routes]]
name = "assets"
path_prefix = "/assets/"
action = "proxy"
[vhosts.routes.proxy]
upstreams = ["127.0.0.1:3000"]
[vhosts.routes.cache]
enabled = true
status_ttls = { "200" = 3600, "404" = 60 }
content_types = ["text/css", "application/javascript", "image/*"]
extensions = ["css", "js", "png", "webp", "svg"]
include_query = false
stale_while_revalidate_secs = 30
stale_if_error_secs = 120
Advanced cache controls
| Έλεγχος | Σκοπός |
|---|---|
lock | Collapse concurrent misses so one request fills the cache. |
range.slice | Cache fixed byte slices for large files and resumable downloads. |
peer_fill | Άφησε ένα edge να γεμίσει από άλλο edge πριν χρησιμοποιήσει origin. |
origin_protection | Περιόρισε concurrent origin fills σε υψηλή πίεση. |
cache_purger | Καθάρισε stale disk entries σε bounded batches. |
Use cache carefully
- Τα αιτήματα που φέρουν
AuthorizationήProxy-Authorizationπαρακάμπτουν πάντα την αναζήτηση και την αποθήκευση της κοινόχρηστης προσωρινής μνήμης. - Εσφαλμένη ή αντικρουόμενη απόκριση Οι οδηγίες
Cache-Controlαπορρίπτονται αντί να επιστρέφουν στα διαμορφωμένα TTL. Τοs-maxageέχει προτεραιότητα έναντι τουmax-age. - Τα
must-revalidate,proxy-revalidateκαιs-maxageαπαγορεύουν την επαναχρησιμοποίηση μετά τη λήξη της φρεσκάδας. - Keep cache keys bounded and predictable.
- Χρησιμοποιείτε ένα storage-bin root ανά εκτελούμενη διεργασία Fluxheim· η ιδιοκτησία χρησιμοποιεί συμβουλευτικό κλείδωμα συστήματος αρχείων και τα κοινόχρηστα roots με πολλούς writers δεν είναι ασφαλή χωρίς επαληθευμένο εξωτερικό κλείδωμα.
- Χρησιμοποίησε purge ή short TTLs όταν το περιεχόμενο αλλάζει συχνά.
- Bypass on cookies, preview headers, and unsafe query strings.
Σημείωση αναβάθμισης κρυπτογραφημένης κρυφής μνήμης
Fluxheim Το 1.7.12 μετακινεί αντικείμενα κρυπτογραφημένης κρυφής μνήμης δίσκου σε δεδομένα συνδεδεμένα με ρίζα και κλειδιά ευρετηρίου με ανθεκτική κατάσταση nonce. Η πρώτη εκκίνηση έναντι μιας παλαιότερης κρυπτογραφημένης ρίζας, και κάθε εναλλαγή τοπικού κλειδιού, εκκαθαρίζει σκόπιμα την εν ψυχρώ αυτή την προσωρινή μνήμη πριν από την προβολή της κυκλοφορίας.
- Αντιμετωπίστε την κρυπτογραφημένη κρυφή μνήμη ως επιτάχυνση μιας χρήσης, όχι ως πηγή εγγραφής.
- Δώστε σε κάθε ρίζα κρυφής μνήμης μόνιμο ιδιωτικό χώρο αποθήκευσης και μην αντιγράψετε κατάσταση nonce μεταξύ ανεξάρτητων ριζών.
- Σχεδιάστε την αρχική χωρητικότητα για την πρώτη προθέρμανση μετά την αναβάθμιση ή την περιστροφή των πλήκτρων.