短影片原始碼,實現預處理防止客戶端頻繁請求
Go 語言實現
預處理查詢示例
// 預處理查詢資料 func prepareQuery() { sqlStr := "SELECT id,name,age FROM user WHERE id > ?" stmt, err := db.Prepare(sqlStr) if err != nil { fmt.Printf("prepare sql failed, err:%v\n", err) return } rows, err := stmt.Query(1) if err != nil { fmt.Printf("exec failed, err:%v\n", err) return } defer rows.Close() for rows.Next() { var u user err := rows.Scan(&u.id, &u.name, &u.age) if err != nil { fmt.Printf("scan data failed, err:%v\n", err) return } fmt.Printf("id:%d, name:%s, age:%d\n", u.id, u.name, u.age) } }
預處理更新示例
// 預處理更新資料 func prepareUpdate() { sqlStr := "UPDATE user SET age = ? WHERE id = ?" stmt, err := db.Prepare(sqlStr) if err != nil { fmt.Printf("prepare sql failed, err:%v\n", err) return } _, err = stmt.Exec(18, 2) if err != nil { fmt.Printf("exec failed, err:%v\n", err) return } fmt.Printf("prepare update data success") }
預處理插入示例
// 預處理更新資料 func prepareUpdate() { sqlStr := "UPDATE user SET age = ? WHERE id = ?" stmt, err := db.Prepare(sqlStr) if err != nil { fmt.Printf("prepare sql failed, err:%v\n", err) return } _, err = stmt.Exec(18, 2) if err != nil { fmt.Printf("exec failed, err:%v\n", err) return } fmt.Printf("prepare update data success") }
預處理刪除示例
// 預處理刪除資料 func prepareDelete() { sqlStr := "DELETE FROM user WHERE id = ?" stmt, err := db.Prepare(sqlStr) if err != nil { fmt.Printf("prepare sql failed, err:%v\n", err) return } result, err := stmt.Exec(3) n, err := result.RowsAffected() if err != nil { fmt.Printf("delete rows failed, err:%v\n", err) return } if n > 0 { fmt.Printf("delete data success") } else { fmt.Printf("delete data error") } }
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/69978258/viewspace-3006190/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx 處理客戶端請求的完整過程Nginx客戶端
- yai 請求預處理指令碼AI指令碼
- nginx截獲客戶端請求Nginx客戶端
- springmvc原始碼 ---DispatcherServlet 處理請求SpringMVC原始碼Servlet
- axios CancelToken 取消頻繁傳送請求的用法和原始碼解析iOS原始碼
- 短影片程式原始碼,如何實現短影片的熱門頁面原始碼
- 傳奇原始碼分析-客戶端(遊戲邏輯處理源分析二)原始碼客戶端遊戲
- zookeeper原始碼 — 五、處理寫請求過程原始碼
- ThinkPHP6 原始碼分析之請求處理PHP原始碼
- 【Zookeeper】原始碼分析之請求處理鏈(一)原始碼
- 禁止頻繁請求的ip訪問nginxNginx
- TodoKit客戶端/服務端原始碼都放出來了,有興趣的可以看看,請求指教客戶端服務端原始碼
- 服務端如何獲取客戶端請求IP地址服務端客戶端
- 客戶預付款處理和設定
- SpringMVC請求處理過程原始碼簡析SpringMVC原始碼
- 影片直播系統原始碼,非同步處理實現程式碼分析原始碼非同步
- Redis處理客戶端連線的內部實現機制RXRedis客戶端
- Kafka 處理器客戶端介紹Kafka客戶端
- Nacos - 服務端處理心跳請求服務端
- 基於Microsoft visual c++ 6.0實現客戶端HTTP的Get、Post請求ROSC++客戶端HTTP
- 從客戶端向服務端發起請求(3種)客戶端服務端
- 直播帶貨原始碼,非同步處理中會處理兩次請求原始碼非同步
- FTP客戶端c程式碼功能實現FTP客戶端C程式
- 跟著大彬讀原始碼 - Redis 3 - 伺服器如何響應客戶端請求?(下)原始碼Redis伺服器客戶端
- 跟著大彬讀原始碼 - Redis 2 - 伺服器如何響應客戶端請求?(上)原始碼Redis伺服器客戶端
- Scrapy原始碼閱讀分析_4_請求處理流程原始碼
- 【Zookeeper】原始碼分析之請求處理鏈(三)之SyncRequestProcessor原始碼
- 【Zookeeper】原始碼分析之請求處理鏈(二)之PrepRequestProcessor原始碼
- 短影片原始碼實現流式傳輸,降低處理大檔案時對記憶體的佔用原始碼記憶體
- python socketserver處理客戶端的流程PythonServer客戶端
- Redis 是如何處理命令的(客戶端)Redis客戶端
- ZooKeeper客戶端事件序列化處理客戶端事件
- 前後端處理流檔案請求後端
- Nacos - 服務端處理註冊請求服務端
- 客戶端骨架屏實現客戶端
- 客戶端PC入網後DHCP請求過程(轉)客戶端
- 搭建本地server,響應Android客戶端HTTP請求ServerAndroid客戶端HTTP
- 死磕Spring原始碼-MVC處理HTTP分發請求Spring原始碼MVCHTTP