最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)自定義讀寫分離代碼實(shí)例

 更新時(shí)間:2019年11月16日 11:41:00   作者:太虛真人  
這篇文章主要介紹了Python實(shí)現(xiàn)自定義讀寫分離代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Python實(shí)現(xiàn)自定義讀寫分離代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

思路

  • 自定義Session類
    • 重寫get_bind方法
    • 根據(jù)self._flushing判斷讀寫操作, 選擇對(duì)應(yīng)的數(shù)據(jù)庫(kù)
  • 自定義SQLAlchemy類
    • 重寫create_session, 在其中使用自定義的Session類
from flask import Flask
from flask_sqlalchemy import SQLAlchemy, SignallingSession, get_state
from sqlalchemy import orm


class RoutingSession(SignallingSession):
  def get_bind(self, mapper=None, clause=None):
    state = get_state(self.app)

    # 判斷讀寫操作
    if self._flushing: # 寫操作 ,使用主數(shù)據(jù)庫(kù)
      print("寫入數(shù)據(jù)")
      return state.db.get_engine(self.app, bind='master')
    else: # 讀操作, 使用從數(shù)據(jù)庫(kù)
      print('讀取數(shù)據(jù)')
      return state.db.get_engine(self.app, bind='slave')


class RoutingSQLAlchemy(SQLAlchemy):
  def create_session(self, options):
    return orm.sessionmaker(class_=RoutingSession, db=self, **options)


app = Flask(__name__)
# 設(shè)置數(shù)據(jù)庫(kù)的連接地址
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@192.168.105.134:3306/demo'
# 設(shè)置數(shù)據(jù)庫(kù)的綁定地址
app.config['SQLALCHEMY_BINDS'] = {
  'master': "mysql://root:mysql@192.168.105.134:3306/demo",
  'slave': "mysql://root:mysql@192.168.105.134:8306/demo"
}
# 設(shè)置是否追蹤數(shù)據(jù)庫(kù)變化  一般不會(huì)開啟, 影響性能
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# 設(shè)置是否打印底層執(zhí)行的SQL語(yǔ)句
app.config['SQLALCHEMY_ECHO'] = False

# 創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象
db = RoutingSQLAlchemy(app)

# 用戶表 一
class User(db.Model):
  __tablename__ = 't_user'
  id = db.Column(db.Integer, primary_key=True)
  name = db.Column(db.String(20), unique=True)


@app.route('/')
def index():
  # 增加數(shù)據(jù)
  user1 = User(name='zs')
  db.session.add(user1)
  db.session.commit()

  # 查詢數(shù)據(jù)
  users = User.query.all()
  print(users)
  return "index"

if __name__ == '__main__':
  # 刪除所有繼承自db.Model的表
  db.drop_all()
  # 創(chuàng)建所有繼承自db.Model的表
  db.create_all()
  app.run(debug=True)

不太好,自動(dòng)選擇不能控制

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python3中sort和sorted使用與區(qū)別

    python3中sort和sorted使用與區(qū)別

    python3中sort()和sorted()都可以用來排序,本文主要介紹了python3中sort和sorted使用與區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • python繪制散點(diǎn)圖詳細(xì)步驟(從0到1必會(huì))

    python繪制散點(diǎn)圖詳細(xì)步驟(從0到1必會(huì))

    這篇文章主要介紹了如何使用Python繪制散點(diǎn)圖,包括導(dǎo)入包、準(zhǔn)備數(shù)據(jù)、繪制圖像、修飾圖像(添加標(biāo)題、坐標(biāo)軸標(biāo)簽、顏色圖例)以及整合所有代碼,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-12-12
  • 詳解tensorflow之過擬合問題實(shí)戰(zhàn)

    詳解tensorflow之過擬合問題實(shí)戰(zhàn)

    這篇文章主要介紹了詳解tensorflow之過擬合問題實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python中應(yīng)該使用%還是format來格式化字符串

    Python中應(yīng)該使用%還是format來格式化字符串

    這篇文章主要介紹了Python中應(yīng)該使用%還是format來格式化字符串的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • Python爬蟲之正則表達(dá)式的使用教程詳解

    Python爬蟲之正則表達(dá)式的使用教程詳解

    本文實(shí)例代碼相結(jié)合給大家詳細(xì)介紹了Python爬蟲之正則表達(dá)式的使用,包括參數(shù)介紹,最常規(guī)的匹配,匹配目標(biāo),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-10-10
  • python將文本分每?jī)尚幸唤M并保存到文件

    python將文本分每?jī)尚幸唤M并保存到文件

    這篇文章主要介紹了python將文本分每?jī)尚幸唤M并保存到文件,需要的朋友可以參考下
    2018-03-03
  • Python pathlib模塊使用方法及實(shí)例解析

    Python pathlib模塊使用方法及實(shí)例解析

    這篇文章主要介紹了Python pathlib模塊使用方法及實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Python深入學(xué)習(xí)之裝飾器

    Python深入學(xué)習(xí)之裝飾器

    這篇文章主要介紹了Python深入學(xué)習(xí)之裝飾器,裝飾器(decorator)是一種高級(jí)Python語(yǔ)法,本文全面介紹了Python中的裝飾器,需要的朋友可以參考下
    2014-08-08
  • 淺談python日志的配置文件路徑問題

    淺談python日志的配置文件路徑問題

    下面小編就為大家分享一篇淺談python日志的配置文件路徑問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python selenium 查找隱藏元素 自動(dòng)播放視頻功能

    python selenium 查找隱藏元素 自動(dòng)播放視頻功能

    這篇文章主要介紹了python selenium 查找隱藏元素 自動(dòng)播放視頻功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論

台中县| 海宁市| 阜康市| 信宜市| 松桃| 泽普县| 清远市| 白朗县| 乳山市| 乌兰浩特市| 宁陕县| 古丈县| 凤城市| 红河县| 凤阳县| 寿宁县| 义马市| 张家港市| 芒康县| 宁陕县| 静乐县| 民丰县| 通渭县| 筠连县| 大新县| 屏东县| 浦县| 呼图壁县| 益阳市| 宣城市| 酒泉市| 万宁市| 同仁县| 武宁县| 长沙县| 凤山县| 康平县| 岢岚县| 章丘市| 罗江县| 白水县|