原创 presto 語法攻略

最近用presto引擎查數據,發現了語法和MYSQL,PG的稍許區別,寫此文章留念~~ 文章目錄1 數據類型2 SELECT 搜索查詢2.1 with 子句2.2 GROUP BY 子句2.2.1 GROUP BY2.2.2 GR

原创 緩存穿透,緩存雪崩,緩存擊穿 解決方案

一 、緩存穿透 一個數據在緩存中查不到,每次發起請求就會反覆去DB裏查,失去了緩存的意義。 如果這個不存在的數據被黑客發現,對應用發起攻擊,這就是漏洞。 緩存穿透解決方案 1 布隆過濾器 原理 布隆過濾器(Bloom Filter)的

原创 單體應用和微服務對比

1 單體應用架構圖舉例: 2、微服務架構圖舉例: 微服務,服務調用基本組件: 服務描述,註冊中心,服務框架,服務追蹤,服務治理 3 、 單體應用與微服務架構優缺點 單體應用有如下優點: 爲人所熟知:現有的大部分工具、應用服務器、

原创 讀書筆記-互聯網創業核心技術(構建可伸縮的Web應用)

文章目錄核心概念,單一服務器到更強的服務器垂直伸縮服務分離內容分發網絡(CDN)分散訪問流量:水平伸縮服務全球用戶的伸縮性架構。分層架構支持技術軟件設計原則 核心概念,單一服務器到更強的服務器 垂直伸縮 通過使用RAID增加I/O吞

原创 python 3.6 新特性

來源 https://docs.python.org/3/whatsnew/3.6.html 變更 array.array 即使迭代的數組被擴展,耗盡的迭代器現在仍然會耗盡。與其他可變序列的行爲保持一致。 從Python 3.6開始

原创 python 3.5 新特性分析

文章來源 https://docs.python.org/3/whatsnew/3.5.html python3.5 新特性 標準庫的重大改進: collections.OrderedDict 改用C實現,性能快4到100倍。 ssl

原创 Celery簡介, 隊列優先級,任務重試

       在 Python 的 web 框架中,Flask 由於其輕量、易於擴展而得到了廣泛的應用,本文主要基於 Flask 淺談 Celery 的應用。        Celery是一個簡單、靈活且可靠的分佈式系統,常用於處理大

原创 高性能mysql閱讀筆記

MySQL邏輯架構 最上層服務: 連接處理,授權認證,安全等 第二層架構:包含了大多數的核心服務功能,包括:查詢解析、分析、優化、緩存、內置函數,所有跨存儲引擎的功能都在這一層實現,比如:存儲過程、觸發器、視圖等 第三層架構:存儲引

原创 supervisor 安裝、配置、supervisord啓動參數、supervisorctl命令參數詳解

三種安裝方式 brew 安裝 brew install supervisor yum 安裝 yum install supervisor pip 安裝 pip install supervisor Superviso

原创 速度搭建jupyter, 用pandas進行數據庫數據分析

文章目錄安裝jupyter打開jupyter文檔新建python文件鏈接數據庫鏈接 Mysql鏈接 Redis鏈接 MongoDB查詢數據查詢 Mysql 數據庫map 用法常用時間轉換方法根據關聯列,合併兩個文檔分組數量統計其餘常用

原创 PostgreSQL 進程參數詳解

查看數據庫正在執行的進程 select * from pg_stat_activity 每個服務器進程的pg_stat_activity視圖將有一行,顯示與該進程的當前活動相關的信息。 殺死進程 現在我們找出所有連接到數據庫

原创 Python爬蟲 scrapy框架 原理,scrapy開發流程

Scrapy Engine 引擎 處理整個系統,是各個模塊之間的聯繫人,各個模塊的數據均需要引擎來發送和收回 Scheduler 調度器 a.接收請求,壓入隊列 b.引擎再次請求時返回請求 Downloader 下載器 接收

原创 16種python設計模式使用場景、特點簡述

++設計模式是在已有的方案之上發現更好的方案,而不是全新發明,不要爲了強迫自己使用已有的設計模式而限制了你的創造力++ 創建型模式 處理對象創建相關問題 1 工廠模式 1.1 工廠方法 ==一個函數==,對不同的輸入參數返回不同

原创 SQL 之 EXPLAIN 語法詳解

EXPLAIN 命令可以查看SQL執行計劃的信息,可以作爲日常優化SQL的工具 誤區 用 explain 時 sql 不會執行。 解答:如果查詢在 FROM 中子句包括子查詢,MySQL會執行子查詢,將其結果放到一個臨時表中,然後完成外

原创 python funtools 模塊常用函數

1、partial(func [,* args] [,** keywords]) 對函數局部進行控制,這個局部最常見的就是對參數的控制 from functools import partial def run(name, age