GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — fullstackpython.github.com/caching.html at gh-pages · xidianwlc/fullstackpython.github.com Expand file tree/ Copy pathcaching.htmlMore file actions 243 lines (238 loc) · 11.8 KB / Copy pathcaching.htmlFile metadata and controls243 lines (238 loc) · 11.8 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 <!DOCTYPE html> <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="Full Stack Python explains each layer of the web application stack, from the server up through the rendering in a user's browser."> <meta name="author" content="Matt Makai"> <link rel="shortcut icon" href="theme/img/fsp-fav.png"> <title>Caching - Full Stack Python</title> <link href="theme/css/fsp.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> <![endif]--> <style> html, body { font-size: 18px; color: #222; background: #fefefe; } body { padding-top: 10px; } .footer { padding: 20px 0 30px 0; } a, a:hover {border-bottom: 1px dotted; color: #444;} a:hover {text-decoration: none; color: #000;} .logo-title a, .logo-title a:hover {font-size: 72px; font-weight: normal; letter-spacing: .04em; vertical-align: middle; margin-left: 5px; color: #000; text-decoration: none; border-bottom: none; font-family: "Helvetica Neue", sans-serif; line-height: .9em;} .logo-title a:hover {color: gray;} .logo-image {vertical-align: middle; border: none;} .logo-header-section {margin: 15px 0 15px 0;} a.list-group-item.active {background: #444; border: 1px solid #222;} a.list-group-item.active:hover {background: #444; border: 1px solid #222;} #sidebar {margin-top: 30px;} .select-next { min-height: 300px; } .choose-btn { font-size: 1.1em; margin: 10px 0 0 0; } .choose-next { border: 1px solid black; background-color: #444; margin-left: 25px; color: #ddd; } .choose-next a { color: #eee; } .btn-full {width: 100%; box-shadow: 1px 2px 1px #222;} p.under-btn {text-align: left; margin-top: 20px;} h3.panel-head {margin: 5px 0 0 0; font-size: 26px; color: #fff;} .smaller-item {font-size: .8em; padding: 5px 0 5px 10px;} @media (max-width: 1200px) { h3.panel-head {font-size: 22px;} } @media (max-width: 992px) { .choose-next { margin-left: 0px; } .select-next { min-height: 100px; } .smaller-item {font-size: 1em; padding: 15px 0 15px 10px;} } @media (max-width: 600px) { .logo-header-section { margin: 20px 32px 0 0; } } </style> <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-19910497-7']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </head> <body> <a href="https://github.com/makaimc/fullstackpython.github.com" class="github"> <img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /> </a> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="logo-header-section"> <a href="/" style="text-decoration: none; border: none;"><img src="theme/img/fsp-logo.png" height="52" width="52" class="logo-image" style="padding-top: 1px;"/></a> <span class="logo-title"><a href="/">Full Stack Python</a></span> </div> </div> </div> <div class="row"> <div class="col-md-8"> <h1>Caching</h1> <p>Caching can reduce the load on servers by storing the results of common operations and serving the precomputed answers to clients. </p> <p>For example, instead of retrieving data from database tables that rarely change, you can store the values in-memory. Retrieving values from an in-memory location is far faster than retrieving them from a database (which stores them on a persistent disk like a hard drive.) When the cached values change the system can invalidate the cache and re-retrieve the updated values for future requests.</p> <p>A cache can be created for multiple layers of the stack. </p> <h2>Caching backends</h2> <ul> <li> <p><a href="http://memcached.org/">memcached</a> is a common in-memory caching system.</p> </li> <li> <p><a href="http://redis.io/">Redis</a> is a key-value in-memory data store that can easily be configured for caching with libraries such as <a href="https://github.com/sebleier/django-redis-cache">django-redis-cache</a>.</p> </li> </ul> <h2>Caching resources</h2> <ul> <li>"<a href="https://bjornjohansen.no/caching-varnish-or-nginx">Caching: Varnish or Nginx?</a>" reviews some considerations such as SSL and SPDY support when choosing reverse proxy Nginx or Varnish.</li> </ul> <h3>What do you want to learn now that your app is responding faster?</h3> <div class="row"> <div class="col-md-3"> <div class="well select-next"> <a href="/source-control.html" class="btn btn-success btn-full"><i class="fa fa-code-fork fa-inverse fa-2x"></i></a> <p class="under-btn"> How do I version my source code and content so I don't lose it? </p> </div> </div> <div class="col-md-3"> <div class="well select-next"> <a href="/web-analytics.html" class="btn btn-success btn-full"><i class="fa fa-dashboard fa-2x"></i></a> </a> <p class="under-btn"> I want to learn more about the users of my application. </p> </div> </div> <div class="col-md-3"> <div class="well select-next"> <a href="/web-application-security.html" class="btn btn-success btn-full"><i class="fa fa-lock fa-inverse fa-2x"></i></a> <p class="under-btn"> Something in the logs looks strange. How do I learn about security? </p> </div> </div> <div class="col-md-3"> <div class="well select-next"> <a href="/configuration-management.html" class="btn btn-success btn-full"><i class="fa fa-gears fa-inverse fa-2x"></i></a> <p class="under-btn"> How do I automate the server configuration I've set up? </p> </div> </div> </div> </div> <div class="col-md-offset-1 col-md-3" id="sidebar"> <div class="panel panel-success"> <div class="panel-heading"><h3 class="panel-head">Caching</h3></div> <div class="panel-body"> <a href="/">Full Stack Python</a> is an open source book explaining each layer of the Python web application stack along with the best Python resources from around the web. <hr/> <a href="http://twitter.com/mattmakai">Matt Makai</a> designed and wrote this site with assistance from community pull requests. If you're on GitHub you can <a href="https://github.com/makaimc">follow him</a> to see what daily changes are made or <a href="https://github.com/makaimc/fullstackpython.github.com">star the repository</a> for future reference. </div> </div> <div class="panel panel-success"> <div class="panel-heading"> <h3 class="panel-head">Table of Contents</h3> </div> <div class="list-group"> <a href="/introduction.html" class="list-group-item smaller-item ">Introduction</a> <a href="/bottle.html" class="list-group-item smaller-item ">Bottle</a> <a href="/deployment.html" class="list-group-item smaller-item ">Deployment</a> <a href="/other-web-frameworks.html" class="list-group-item smaller-item ">Other Web Frameworks</a> <a href="/servers.html" class="list-group-item smaller-item ">Servers</a> <a href="/web-frameworks.html" class="list-group-item smaller-item ">Web Frameworks</a> <a href="/django.html" class="list-group-item smaller-item ">Django</a> <a href="/operating-systems.html" class="list-group-item smaller-item ">Operating Systems</a> <a href="/flask.html" class="list-group-item smaller-item ">Flask</a> <a href="/web-servers.html" class="list-group-item smaller-item ">Web Servers</a> <a href="/platform-as-a-service.html" class="list-group-item smaller-item ">Platform-as-a-service</a> <a href="/databases.html" class="list-group-item smaller-item ">Databases</a> <a href="/wsgi-servers.html" class="list-group-item smaller-item ">WSGI Servers</a> <a href="/application-dependencies.html" class="list-group-item smaller-item ">Application Dependencies</a> <a href="/cascading-style-sheets.html" class="list-group-item smaller-item ">Cascading Style Sheets</a> <a href="/javascript.html" class="list-group-item smaller-item ">JavaScript</a> <a href="/static-content.html" class="list-group-item smaller-item ">Static Content</a> <a href="/source-control.html" class="list-group-item smaller-item ">Source Control</a> <a href="/caching.html" class="list-group-item smaller-item active">Caching</a> <a href="/task-queues.html" class="list-group-item smaller-item ">Task Queues</a> <a href="/api-integration.html" class="list-group-item smaller-item ">API Integration</a> <a href="/no-sql-datastore.html" class="list-group-item smaller-item ">NoSQL Data Stores</a> <a href="/web-application-security.html" class="list-group-item smaller-item ">Web Security</a> <a href="/logging.html" class="list-group-item smaller-item ">Logging</a> <a href="/monitoring.html" class="list-group-item smaller-item ">Monitoring</a> <a href="/configuration-management.html" class="list-group-item smaller-item ">Configuration Management</a> <a href="/web-analytics.html" class="list-group-item smaller-item ">Web Analytics</a> <a href="/best-python-resources.html" class="list-group-item smaller-item ">Best Python Resources</a> <a href="/about-author.html" class="list-group-item smaller-item ">About the Author</a> <a href="/change-log.html" class="list-group-item smaller-item ">Change Log</a> <a href="/future-directions.html" class="list-group-item smaller-item ">Future Directions</a> </div> </div> </div></div> <hr/> <div class="footer pull-right"> <a href="http://www.mattmakai.com/" class="underline">Matt Makai</a> 2014 </div> </div> <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script> <script src="theme/js/bootstrap.min.js"></script> </body> </html> |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |