第三方擴充套件庫:flask-cache
安裝**:
pip install flask-cache
ide中配置**,這裡使用的是pycharm
from flask_cache import cache
# 配置
# 快取型別
# 主機
# 埠
# 資料庫
# 建立物件
快取檢視函式
@cache.cached(timeout=100,key_prefix='select')
# timeout:指定快取有效期,預設300s
def select():
students=student.query.all()
print('讀取資料')
return ','.join(s.name for s in students)
快取普通函式
# 快取普通函式,key_prefix必須指定
@cache.cached(timeout=100, key_prefix='common')
def common():
print('查詢資料庫')
return '返回的資料'
def hello():
return common()
清除快取
def clear():
# 指定刪除
# cache.delete('index')
# 全部清空
cache.clear()
return '快取已清除'
自定義快取
def zidingyi():
# 先從快取中獲取
data = cache.get('zidingyi_data')
if data:
return data
# 沒有快取資料
print('從資料庫中獲取資料')
data = '123456'
# 快取資料
cache.set('zidingyi_data', data, timeout=100)
return data
整體**
from flask import flask
from flask_script import manager
from flask_cache import cache
from flask_sqlalchemy import sqlalchemy
from flask_migrate import migrate,migratecommand
import os
manager.add_command('db',migratecommand)
#配置資料庫
base_dir=os.path.dirname(__file__)
database_uri='sqlite:///' + os.path.join(base_dir,'data.sqlite')
#配置redis
#快取型別
class student (db.model):
id=db.column(db.integer,primary_key=true)
name=db.column(db.string(20),unique=true)
#建立物件
#快取檢視函式
@cache.cached(key_prefix='index')
def index():
return '資料快取'
# @cache.cached(timeout=100)
def add():
lt1=student(name='liangliang')
lt2=student(name='zhaozhao')
lt3=student(name='da peng')
db.session.add_all([lt1,lt2,lt3])
db.session.commit()
from flask_sqlalchemy import get_debug_queries
queries = get_debug_queries()
for q in queries:
print(q)
# print('讀取資料庫')
return '資料已新增'
@cache.cached(timeout=100,key_prefix='select')
def select():
students=student.query.all()
print('讀取資料')
return ','.join(s.name for s in students)
def clear():
#指定刪除
cache.delete('index')
#全部清空
cache.clear()
return '快取已刪除'
if __name__=='__main__':
manager.run()
redis中常用命令
keys *
檢視所有鍵
dbsize
獲取鍵總數
flushdb
清除當前資料庫中的資料
flushall
清空redis所有資料庫的資料
exists key
檢查鍵是否存在
del key
刪除鍵type key
檢視鍵的資料結構型別
expire key seconds
設定鍵過期時間
ttl key
返回鍵的剩餘過期時間,有3種返回值,如**
flask入門教程 18 快取
當你的應用變慢時,你可以考慮使用快取,flask本身沒有提供快取,但是依賴包werkzeug提供了。我們可以使用 cache來使用簡單的快取 from werkzeug.contrib.cache import cache cache cache cache.set name pynickle ca...
flask快取處理
1.安裝依賴 pip install flask caching 1.7.22.需要快取處理業務 主要用在資料庫多次查詢,資料庫幾乎不修改情況下3.新建檔案,比如extensions.py 快取物件 from flask caching import cache cache cache 4.配置檔案...
flask使用快取
這裡使用redis跟flask caching,可以參考文件 huan 使用redis做快取主要是速度快,快取一些不經常變化的但訪問量大的頁面,使使用者體驗更好。安裝redis資料庫 pip install redis pip install flask caching from flask cac...