1. 程式人生 > 其它 >MarkDown語法第一天

MarkDown語法第一天

環境:

  python 3.7.4

  win 10 環境

  redis 服務

模組依賴:

  flask

  flask-session

  redis

工程目錄:

  

flask 引入redis 替換原生session儲存session(flask-session)

  在配置檔案中加入redis連線配置以及flask-session 替換為 redis方式

  

  

import uuid, os
from redis import Redis

class BasicConfig(object):
    # SECRET_KEY = os.urandom(24)
    SECRET_KEY = str(uuid.uuid4())

class DevConfig(BasicConfig): DEBUG = True # Mysql 配置 SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:[email protected]/anec' SQLALCHEMY_TRACK_MODIFICATIONS = 'False' SQLALCHEMY_POOL_SIZE = 5 SQLALCHEMY_POOL_TIMEOUT = 15 # redis 與 flask-session 配置 SESSION_TYPE = 'redis' #
session儲存格式為redis SESSION_REDIS = Redis(host='192.168.0.118', port=6379) SESSION_USE_SIGNER = True # 是否強制加鹽,混淆session SESSION_PERMANENT = False # sessons是否長期有效,false,則關閉瀏覽器,session失效 PERMANENT_SESSION_LIFETIME = 3600 # session長期有效,則設定session生命週期,整數秒,預設大概不到3小時。

  在views 中使用 session

from App.RedisSession import redissession
from flask import session, request


@redissession.route('/')
def default():
    return session.get('key', 'not set')


@redissession.route('/test/')
def test():
    session['key'] = 'test'
    return 'ok'


@redissession.route('/set/')
def set():
    # 從請求頭中獲取 新的Key值
    arg = request.args.get('key')
    print(arg)
    session['key'] = arg
    return 'ok'


@redissession.route('/get/')
def get():
    return session.get('key', 'not set')


@redissession.route('/pop/')
def pop():
    session.pop('key')
    return session.get('key', 'not set')


@redissession.route('/clear/')
def clear():
    session.clear()
    return session.get('key', 'not set')