原创 Golang 微服務教程

本節對 gRPC 的使用淺嘗輒止,更多可參考:gRPC 中 Client 與 Server 數據交互的 4 種模式 前言 系列概覽 《Golang 微服務教程》分爲 10 篇,總結微服務開發、測試到部署的完整過程。 本節先介紹微服務的基礎

原创 PHP併發IO編程

併發IO問題一直是後端編程中的技術挑戰,從最早的同步阻塞Fork進程,到多進程/多線程,到現在的異步IO、協程。PHP程序員因爲有強大的LAMP框架,對底層方面的知識知之甚少,本文目的就是詳細介紹PHP進行併發IO編程的各種嘗試,最後再介

原创 PHP JWT API接口驗籤

Composer: https://github.com/lcobucci/jwt <?php use Lcobucci\JWT\Builder; use Lcobucci\JWT\Signer\Hmac\Sha256; use Lc

原创 golang調試日誌寫到txt

func log_output(str_content string) { fd,_:=os.OpenFile("a.txt",os.O_RDWR|os.O_CREATE|os.O_APPEND,0644) fd_time

原创 Elasticsearch學習,增、刪、改、查操作

https://blog.csdn.net/laoyang360/article/details/51931981

原创 Golang使用通道的同步等待組WaitGroup開發併發爬蟲

在Go的併發編程中有一句很經典的話:不要以共享內存的方式去通信,而要以通信的方式去共享內存。 在Go語言中並不鼓勵用鎖保護共享狀態的方式在不同的Goroutine中分享信息(以共享內存的方式去通信)。而是鼓勵通過channel將共享狀態或

原创 行級鎖和表級鎖, 樂觀所和悲觀鎖,溫故知新

由於InnoDB 預設是Row-Level Lock,所以只有「明確」的指定主鍵,MySQL 纔會執行Row lock (只鎖住被選取的數據) ,否則MySQL 將會執行Table Lock (將整個數據表單給鎖住)。 舉個例子: 假設有

原创 CentOS7.5 OneinStack安裝apache,nginx環境(包括PostgreSQL、Kafka、RabbitMQ)

1、準備 # 安裝之前先檢查一下系統是否有默認安裝的`apache`或者`php` $ rpm -qa|grep httpd $ rpm -qa|grep php $ rpm -qa|grep mysql # 把上面指令列出來的包刪除

原创 tp5框架數據庫Db增刪改查常見操作總結

添加數據insert ? 1 2 3 4 5 $data = [   'name_cn' => '張三',   'name_en' => 'jack', ]; $res = Db::name('style')->insert($da

原创 10年PHP面試題記錄

PHP頁面表單防止跨域攻擊的方法實現,原理 PHP防止重複提交的方法 PHP項目中mysql防止依賴注入的方法有哪些 實現負載均衡的方法有哪些,原理是什麼 手寫冒泡排序 php7的比php5的具體優勢體現,說出5個以上 主從服務器的同步不

原创 ThinkPhP+redis隊列緩存+mysql 批量入庫

源碼地址:https://github.com/Tinywan/PHP_Experience 問題分析 問題一:要求日誌最好入庫;但是,直接入庫mysql確實扛不住,批量入庫沒有問題,done。【批量入庫和直接入庫性能差異】 問題二:批量

原创 Linux CronTab定時訪問php腳本任務

先進入命令行模式。作爲服務器的linux一般都默認進入命令行模式的,當然,我們管理服務器也一般通過putty或者xshell等工具遠程連接到服務器。在命令行中鍵入: crontab -e 之後就會打開一個文件,並且是非編輯狀態,則是v

原创 MySQL創建定時任務

自MySQL5.1.6起,增加了一個非常有特色的功能-事件調度器(Event Scheduler),可以用做定時執行某些特定任務(例如:刪除記錄、對數據進行彙總、數據備份等等),來取代原先只能由操作系統的計劃任務來執行的工作。更值得一提的

原创 thinkphp where()條件查詢

原文鏈接:http://www.thinkphp.cn/document/314.html 字符串條件 使用字符串條件直接查詢和操作,例如: $User = M("User"); // 實例化U

原创 thinkphp5按照設置的營業時間統計每天銷售額分組

$day_start_time = '11:22:33'; $hour = substr ($day_start_time , 0, 2); $minute = substr ($day_start_time , -5, 2); $se