From 82511a6fe2d29d50c1cdca4b2abb23ff681a1943 Mon Sep 17 00:00:00 2001 From: Sebastian Silva Date: Wed, 16 Nov 2011 07:56:19 +0000 Subject: Major improvements in IDE usability. --- (limited to 'studio/static/doc/flask-docs/patterns/caching.html') diff --git a/studio/static/doc/flask-docs/patterns/caching.html b/studio/static/doc/flask-docs/patterns/caching.html deleted file mode 100644 index ed0d3c1..0000000 --- a/studio/static/doc/flask-docs/patterns/caching.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - - - Caching — Flask 0.8 documentation - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- -
-

Caching

-

When your application runs slow, throw some caches in. Well, at least -it’s the easiest way to speed up things. What does a cache do? Say you -have a function that takes some time to complete but the results would -still be good enough if they were 5 minutes old. So then the idea is that -you actually put the result of that calculation into a cache for some -time.

-

Flask itself does not provide caching for you, but Werkzeug, one of the -libraries it is based on, has some very basic cache support. It supports -multiple cache backends, normally you want to use a memcached server.

-
-

Setting up a Cache

-

You create a cache object once and keep it around, similar to how -Flask objects are created. If you are using the -development server you can create a -SimpleCache object, that one is a simple -cache that keeps the item stored in the memory of the Python interpreter:

-
from werkzeug.contrib.cache import SimpleCache
-cache = SimpleCache()
-
-
-

If you want to use memcached, make sure to have one of the memcache modules -supported (you get them from PyPI) and a -memcached server running somewhere. This is how you connect to such an -memcached server then:

-
from werkzeug.contrib.cache import MemcachedCache
-cache = MemcachedCache(['127.0.0.1:11211'])
-
-
-

If you are using App Engine, you can connect to the App Engine memcache -server easily:

-
from werkzeug.contrib.cache import GAEMemcachedCache
-cache = GAEMemcachedCache()
-
-
-
-
-

Using a Cache

-

Now how can one use such a cache? There are two very important -operations: get() and -set(). This is how to use them:

-

To get an item from the cache call -get() with a string as key name. -If something is in the cache, it is returned. Otherwise that function -will return None:

-
rv = cache.get('my-item')
-
-
-

To add items to the cache, use the set() -method instead. The first argument is the key and the second the value -that should be set. Also a timeout can be provided after which the cache -will automatically remove item.

-

Here a full example how this looks like normally:

-
def get_my_item():
-    rv = cache.get('my-item')
-    if rv is None:
-        rv = calculate_value()
-        cache.set('my-item', rv, timeout=5 * 60)
-    return rv
-
-
-
-
- - -
-
-
-
-
-

Table Of Contents

- -

Related Topics

- -

This Page

- - - -
-
-
-
- - - \ No newline at end of file -- cgit v0.9.1