flask 配置使用缓存

如果应用运行很慢,可以尝试引入一些缓存,缓存的工作是什么呢?

比如有一个需要一段时间才能完成的函数,但是这个函数的返回结果可能在5分钟之内都是足够有效的,因此可以将这个结果放在缓存中一段时间,而不用反复计算 flask本身不提供缓存,但是作为flask基础的werzeug库,提供了一些基础的缓存支持,支持多种缓存后端,通常选择是memcached服务器

配置缓存

类似于建立一个flask对象一样,创建一个缓存对象,然后将对象保持存在, 如果使用的是开发服务器,可以创建一个simplecache对象,这个对象将元素缓存在python解释器控制的内存中

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

如果希望使用memcached进行缓存,确保已经安装了memcache模块支持,并且拥有一个可用的memcached服务器正在运行 可以连接到缓存服务器

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

如果使用app engine,可以通过代码连接到app engine的缓存服务器

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

使用缓存

有两个非常重要的函数可以用来使用缓存,get()和set(), 从缓存中读取项目,使用的是get(), 如果缓存中存在对应的项目,将会返回,否则函数将会返回None

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

在缓存中添加项目,使用set()函数,第一个参数是想要设定的键,第二个参数是想要缓存的值 可以设定一个超时时间,当时间超过时候,缓存系统将会自动清除这个项目

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
    原文作者:一曲广陵散
    原文地址: https://www.jianshu.com/p/41d8f36c1dcb
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞