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-laachBrûk it wannear
memoryYou need the fastest cache and can keep objects in RAM.
diskYou need cache capacity that survives process restarts.
tieredJo wolle ûnthâld foar hot objekten en skiif foar gruttere kapasiteit.
storage-binJo ferwachtsje hege churn en wolle beheine skiiftawizing.
encrypted diskYou 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

KontrôleDoel
lockCollapse concurrent misses so one request fills the cache.
range.sliceCache fixed byte slices for large files and resumable downloads.
peer_fillLit ien râne folje fan in oare râne foardat jo oarsprong brûke.
origin_protectionBeheine tagelyk vullingen fan oarsprong by hege druk.
cache_purgerSkjin muffe skiif-yngongen yn beheinde batches.

Use cache carefully

  • Fersiken dy't Authorization of Proxy-Authorization drage, geane altyd om opsykjen en opslach fan dielde cache.
  • Misfoarme of tsjinstridige antwurd Cache-Control rjochtlinen wurde ôfwiisd ynstee fan in falle werom nei konfigurearre TTLs; s-maxage hat prioriteit boppe max-age.
  • must-revalidate, proxy-revalidate, en s-maxage ferbiede ferâldere werbrûk neidat farskheid ferrint.
  • Keep cache keys bounded and predictable.
  • Brûk ien storage-bin-haadmap per rinnend Fluxheim-proses; it eigendom brûkt in advisearjend bestânsysteemslot, en dielde haadmappen mei meardere skriuwers binne ûnfeilich sûnder ferifiearre eksterne slotten.
  • Brûk purge of koarte TTL's as ynhâld faak feroaret.
  • Bypass on cookies, preview headers, and unsafe query strings.

Fersifere-cache upgrade notysje

Fluxheim 1.7.12 ferpleatst fersifere skiif-cache-objekten nei root-bûne gegevens en yndekstoetsen mei duorsume nonce-status. De earste opstart tsjin in âldere fersifere root, en elke rotaasje fan lokale kaaien, sil dizze cache mei opsetsin kâld skjinmeitsje foardat it ferkear tsjinnet.

  • Behannelje de fersifere cache as wegwerpfersnelling, net de boarne fan rekord.
  • Jou elke cache-root persistente privee opslach en kopiearje gjin nonce-status tusken ûnôfhinklike roots.
  • Plan oarsprongskapasiteit foar de earste warming-up nei it opwurdearjen of draaiende toetsen.
Frysk