A common request sent from your web browser to a web server goes quite a long way and it can take a great deal of time until the data your browser can display are fetched back. I will talk about making this great deal of time significantly less great by caching things on different levels, starting with client-side caching for faster display and minimizing transferred data, storing results of already performed operations and computations and finishing with lowering the load of database servers by caching result sets. Cache expiration and invalidation is the hardest part so I will cover that too. Presentation will be focused mainly on PHP, but most of the principles are quite general work elsewhere too.
11. Last-Modified: HTTP-date Following request: If-Modified-Since: HTTP-date Response: Entity modified: HTTP 200 OK Not modified: HTTP 304 Not Modified
47. Cache groups Keys: list-sorted-asc, list-sorted-desc Group „list“: list-sorted-asc, list-sorted-desc, list-unsorted
48. Cache groups Keys: list-sorted-asc, list-sorted-desc Group „list“: list-sorted-asc, list-sorted-desc, list-unsorted Delete group „list“ when adding/removing
Q: Kdo víte, co je to cache? ME: cache je rychlé úložiště, kam s ukládají data z pomalého úložiště Q: kdo si myslí, že jsem to řekl špatně? Me: popovídáme si potom Q: kdo používáte nějakou cache? Me: všichni
Ukázkový model
Co znamená cache, jak se chová klient, v nejlepším případě neodejde žádný požadavel na server
Když odejde, server vrátí v odpovědi tyto hlavičky
Hlavičky pro podmíněné dotazy mají obrácené varianty
Má spoustu parametrů, tohle jsou nejzajímavější, zbytek by vydal na druhou přednášku
V ideálním případě odpovídá cache, ne půvvodní server
Víc se toho říct nedá, to je taky na samostatnou přednášku
...Což není tak jednoduchý, protože
Největší teoretik v čechách napsal článek, návrh, jak to celý zautomatizovat, problém je ten, že existuje snad jen jeden člověk, který to dokáže prakticky napsat.