原创 RPC框架Thrift-python作爲服務端支持的傳輸方式

Thrift的傳輸層python服務端支持的方式有TSocket,TServerSocket,TBufferedTransport,TFramedTransport,TZlibTransport,下面分別介紹。 1.TSocket和TSe

原创 一文讀懂redis五大數據類型的底層實現

redis有五大數據類型,字符串對象(string)、列表對象(list)、哈希對象(hash)、集合(set)對象和有序集合對象(zset),redis構建了一個對象系統,每個數據類型都是一個對象,由於redis是key,value的形

原创 redis數據類型及其應用場景

1.string Redis的字符串是動態字符串(SDS),是可以修改的字符串,它的內部表示就是一個字符數組,它的內部結構是一個帶長度信息的字節數組,可以包含任何數據。 使用場景:string類型使用場景 2.hash 相當於python

原创 Mac系統解除Beyond Compare4 30天試用限制

https://blog.csdn.net/PCCEO1/article/details/88658407

原创 緩存穿透、緩存雪崩、緩存擊穿、緩存預熱

實際工作中雖然沒有遇到過,但是這種事情還是不要遇到的好,所以提前加好防護策略測試王道。 1.緩存雪崩 緩存雪崩是指原本應該訪問緩存的都直接訪問底層數據庫了,例如大量緩存數據在同一時間過期,導致大量請求直接訪問底層數據庫,導致底層數據庫崩潰

原创 使用redis鎖的正確姿勢

redis鎖的使用方式一般有三種,INCR,SETNX,SET。 1.INCR INCR命令會將key的值加一,如果key值不存在,則key值會被初始化爲0,然後執行INCR操作。 127.0.0.1:6379> GET LOCK_12

原创 python-concurrent.futures實現併發

python由於全局解釋器鎖GIL的存在導致對多線程的效率有不小影響,python爲了提高併發提供了兩個標準庫concurrent.futures和multiprocessing,兩者使用方式非常相似,都提拱了線程池和進程池操作。說到線程

原创 RPC框架Thrift-python服務端支持協議

TBinaryProtocol-一種簡單的二進制格式,將數值編碼爲二進制,而不是轉換爲文本。 TCompactProtocol-高效,密集的數據編碼(請參見下面的詳細信息)。 TDenseProtocol-類似於TCompactProto

原创 RPC框架Thrift-python服務端運行模式源碼解析

Thrift的python服務端運行模式目前只支持四種,TSimpleServer,TThreadedServer,TThreadPoolServer,TForkingServer,下面依依解析 1.TSimpleServer 使用std

原创 RPC框架Thrift-python服務端傳輸方式

TSocket-使用阻塞套接字I/O進行傳輸。 TFramedTransport-以幀爲單位發送數據,其中每個幀前面都有一個長度。使用非阻塞服務器時,此傳輸是必需的。 TFileTransport-此傳輸將寫入文件。儘管此傳輸不包含在Ja

原创 thrift使用--python版本

RPC(Remote Procedure Call)即遠程過程調用,說簡單點就是服務端和客戶端遵守一套約定好的協議,然後客戶端就可以調用服務端的函數。目前主流的rpc框架對比如下: 功能 Hessian Montan rpcx gRPC

原创 python-id轉隨機字符串庫-Hashids

當你想把你url中的id變成隨機字符串,避免被爬蟲時你會用到這個工具,Hashids可以將任意字符轉換成隨機字符串,並能夠反編碼回來,talk is cheap,show code。 1.安裝 pip install hashids m

原创 redis-HyperLogLog基數統計

redis在2.8.9 版本添加了 HyperLogLog 數據結構,用於統計非重複數據個數,這個功能利用redis的set也能實現,但是爲什麼還要提供HyperLogLog呢?原因在於如果有時我們只需要計算基數個數,不要存儲具體的數據時

原创 python實現設計模式-工廠模式

一句話總結工廠模式:根據不同輸入返回不同的類  class Person(object): def __init__(self, name, age): self.name = name self

原创 mac系統vue項目構建-01

有時候想自己搭個web應用玩玩,沒寫過前端,今天研究研究vue,記錄下學習過程 1.下載vue 下載vue需要用nmp下載,npm最簡單的安裝是安裝node.js,因爲安裝node.js會自動安裝npm。所以先安裝node.js. 1)安