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 ứng dụngDùng khi
memoryYou need the fastest cache and can keep objects in RAM.
diskYou need cache capacity that survives process restarts.
tieredBạn muốn có bộ nhớ cho các vật thể nóng và đĩa có dung lượng lớn hơn.
storage-binBạn mong đợi tỷ lệ sử dụng cao và muốn phân bổ đĩa có giới hạn.
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

Điều khiểnMục đích
lockCollapse concurrent misses so one request fills the cache.
range.sliceCache fixed byte slices for large files and resumable downloads.
peer_fillĐể một cạnh lấp đầy từ một cạnh khác trước khi sử dụng điểm gốc.
origin_protectionHạn chế lấp đầy nguồn gốc đồng thời khi áp suất cao.
cache_purgerLàm sạch các mục đĩa cũ theo lô giới hạn.

Use cache carefully

  • Các yêu cầu mang Authorization hoặc Proxy-Authorization luôn bỏ qua việc tra cứu và lưu trữ bộ nhớ đệm dùng chung.
  • Phản hồi không đúng hoặc xung đột Các lệnh Cache-Control bị từ chối thay vì quay trở lại các TTL đã định cấu hình; s-maxage được ưu tiên hơn max-age.
  • must-revalidate, proxy-revalidates-maxage cấm sử dụng lại sau khi hết hạn sử dụng.
  • Keep cache keys bounded and predictable.
  • Dùng một storage-bin root cho mỗi Fluxheim process đang chạy; ownership dùng advisory filesystem lock, vì vậy shared multi-writer root không an toàn nếu chưa có external locking đã được kiểm chứng.
  • Sử dụng TTL thanh lọc hoặc rút ngắn khi nội dung thay đổi thường xuyên.
  • Bypass on cookies, preview headers, and unsafe query strings.

Ghi chú nâng cấp bộ đệm được mã hóa

Fluxheim 1.7.12 di chuyển các đối tượng bộ nhớ đệm trên đĩa được mã hóa sang dữ liệu liên kết gốc và các khóa chỉ mục với trạng thái nonce bền vững. Lần khởi động đầu tiên chống lại root được mã hóa cũ hơn và mỗi lần xoay khóa cục bộ, có chủ ý xóa nguội bộ đệm đó trước khi phân phối lưu lượng truy cập.

  • Hãy coi bộ đệm được mã hóa là dữ liệu tăng tốc có thể loại bỏ, không phải nguồn dữ liệu chuẩn.
  • Cung cấp cho mỗi bộ đệm gốc bộ lưu trữ riêng tư liên tục và không sao chép trạng thái nonce giữa các gốc độc lập.
  • Dự trù đủ công suất máy chủ nguồn cho lần làm nóng bộ đệm đầu tiên sau khi nâng cấp hoặc xoay vòng khóa.
Tiếng Việt