原创 職責鏈模式

每個對象,存儲着對自己上級的引用,如果自己處理不了,交給上一家; <?php class Admin { protected $level = 1; protected $higher = 'Police'; public

原创 裝飾器模式

<?php class BaseArticle { protected $content; protected $article = null; public function __construct($content) {

原创 PHP shell_exec exec system

shell_exec將所有輸出流作爲字符串返回。 exec默認情況下返回輸出的最後一行,但可以將所有輸出提供爲指定爲第二個參數的數組。   如果命令的輸出是xml或json,那麼將每一行作爲數組的一部分並不是你想要的,因爲你需要將輸入後處

原创 crontab按秒執行任務

/etc/crontab # test-crontab按秒執行任務 * * * * * root echo $(date) >> /root/test.txt * * * * * root sleep 5 && echo $(date)

原创 Mysql優化

percona-toolkit SQL及索引 數據庫表結構 系統配置 硬件 ------------------------ 使用mysql慢查詢日誌對有效率問題的SQL進行監控 show variables like 'slow_que

原创 SSH

SSH端口:22 Linux中守護進程:sshd 安裝服務:openssh 服務端主進程:/usr/sbin/sshd 客戶端主進程:/usr/bin/ssh 服務端配置文件:/etc/ssh/sshd_config 客戶端配置文件:/e

原创 消息隊列

消息隊列的概念,原理和場景 冗餘(訂單記錄數據處理),解耦(入隊,出隊),流量削峯(秒殺),異步通信,場景的擴展性(add配貨系統訂閱消息隊列),排序保證(按照順序處理) 隊列結構的中間件: mysql,redis,rabbitMQ 消

原创 redis設計與實現

數據結構與對象 對象所使用的底層數據結構 編碼常量 OBJECT ENCODING 命令輸出 整數 REDIS_ENCODING_INT "int" embstr 編碼的簡單動態字符串(SDS) REDIS_ENCODING_EMBSTR

原创 服務高可用

爲了保證系統不被突發流量擊垮,進行容量保障是十分有必要的。從架構的穩定性角度看,在有限資源的情況下,所能提供的單位時間服務能力也是有限的。假如超過承受能力,可能會帶來整個服務的停頓,應用的Crash,進而可能將風險傳遞給服務調用方造成整個

原创 I/O

https://www.zhihu.com/question/32163005 https://segmentfault.com/a/1190000003063859#articleHeader6 IO模式 對於一次IO訪問,數據會先被拷

原创 Redis*

Redis 採用的是基於內存的採用的是單進程單線程模型的 KV 數據庫,由 C 語言編寫。官方提供的數據是可以達到100000+的 qps。   Redis 內置了複製(Replication),LUA腳本(Lua scripting),

原创 RPC

RPC 的幾個特點 簡單地說,RPC 就是從一臺機器(客戶端)上通過參數傳遞的方式調用另一臺機器(服務器)上的一個函數或方法(可以統稱爲服務)並得到返回的結果; RPC 會隱藏底層的通訊細節(不需要直接處理 Socket 通訊或 Http

原创 SFTP

SSH File Transfer Protocol SFTP要求客戶端用戶必須由服務器進行身份驗證,並且數據傳輸必須通過安全通道(SSH)進行傳輸數據。 * FTP要安裝:Standard (PORT方式,主動模式),Passive (

原创 vsftpd

linux: yum install vsftpd systemctl start vsftpd yum install tcpdump tcpdump -i ens33 -nnx port 21 useradd footstep pa

原创 shell

命令執行順序: 1,第一順位執行用絕對路徑或相對路徑執行的命令; 2,第二順位執行別名; 3,第三順位執行bash的內部命令; 4,第四順位執行按照$PATH環境變量定義的目錄查找順序找到的第一個命令; shell 符號: \\ 輸出\本