mirror of
https://github.com/donnemartin/system-design-primer.git
synced 2024-03-22 13:11:35 +08:00
Add client, CDN, web server, and DB caching sections
This commit is contained in:
parent
0d0814fa58
commit
707163811e
16
README.md
16
README.md
|
@ -1218,3 +1218,19 @@ Sample data well-suited for NoSQL:
|
|||
Caching improves page load times and can reduce the load on your servers and databases. In this model, the dispatcher will first lookup if the request has been made before and try to find the previous result to return, in order to save the actual execution.
|
||||
|
||||
Databases often benefit from a uniform distribution of reads and writes across its partitions. Popular items can skew the distribution, causing bottlenecks. Putting a cache in front of a database can help absorb uneven loads and spikes in traffic.
|
||||
|
||||
### Client caching
|
||||
|
||||
Caches can be located on the client side (OS or browser), [server side](#reverse-proxy), or in a distinct cache layer.
|
||||
|
||||
### CDN caching
|
||||
|
||||
[CDNs](#content-delivery-network) are considered a type of cache.
|
||||
|
||||
### Web server caching
|
||||
|
||||
[Reverse proxies](#reverse-proxy-web-server) and caches such as [Varnish](https://www.varnish-cache.org/) can serve static and dynamic content directly. Web servers can also cache requests, returning responses without having to contact application servers.
|
||||
|
||||
### Database caching
|
||||
|
||||
Your database usually includes some level of caching in a default configuration, optimized for a generic use case. Tweaking these settings for specific usage patterns can further boost performance.
|
||||
|
|
Loading…
Reference in New Issue
Block a user