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ụng | Dùng khi |
|---|---|
memory | You need the fastest cache and can keep objects in RAM. |
disk | You need cache capacity that survives process restarts. |
tiered | Bạ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-bin | Bạn mong đợi tỷ lệ sử dụng cao và muốn phân bổ đĩa có giới hạn. |
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
| Điều khiển | Mục đích |
|---|---|
lock | Collapse concurrent misses so one request fills the cache. |
range.slice | Cache 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_protection | Hạn chế lấp đầy nguồn gốc đồng thời khi áp suất cao. |
cache_purger | Là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
AuthorizationhoặcProxy-Authorizationluô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-Controlbị từ chối thay vì quay trở lại các TTL đã định cấu hình;s-maxageđược ưu tiên hơnmax-age. must-revalidate,proxy-revalidatevàs-maxagecấ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.