博客 / 列表

Leojx - mysql 索引失效的多種場景

MySQL 索引會失效的情況很多,尤其是在查詢條件、數據類型、排序方式或優化器選擇策略上不合適時。下面我按常見原因分組給你梳理一下,並標明是肯定失效還是可能失效(取決於優化器判斷)。 一、查詢條件寫法導致失效 這些是最常見的坑: 在索引列上使用函數或表達式(肯定失效) SELECT * FROM user WHERE YEAR(create_time) = 2024; -- cr

MySQL , 索引

Leojx - 使用 PHP Sodium 擴展進行 AEGIS 加密

AEGIS 是基於 AES 的經過身份驗證的加密算法系列,比 AES-GCM 和 CHACHA20-POLY1305 等普遍存在的算法要快得多。如果 Sodium 擴展是使用 libsodium 1.0.19 或更高版本編譯的,則 PHP 8.4 中的 Sodium 擴展支持 AEGIS-128L 和 AEGIS-256 加密算法。 AEGIS 系列中的兩種加密算法 AEGIS-128L 和 A

php , 加密 , aes

Leojx - 高併發集羣架構圖譜(生產級全鏈路視角)

1.接入層 ┌────────────────────────────────────────────┐ │ - CDN / API網關(WAF) │ │────────────────────────────────────────────│ │ - 網關服務(Kong / Nginx + Lua)

高併發 , 架構設計 , 集羣 , 後端

Leojx - PHP Composer包的其他安裝方式

Composer包構建文件 { "name": "liujianxin/message-service-packagist", "description": "chang yu jun ge .TECH Message-service", "version": "1.0.6", "type": "library", "license": "MIT",

composer , php , 教程 , composer-php

Leojx - 使用 Curl 和 PHP 壓縮 HTTP 請求

壓縮是一種提升網頁和 Web 應用性能的重要且高效的手段。對於 HTML、CSS、JavaScript、SVG 等基於文本的資源,通常在服務器端進行壓縮後傳輸至客户端,再由瀏覽器進行解壓,這一過程能夠顯著降低帶寬消耗和縮短傳輸時間。 這一壓縮與解壓的過程對服務器和瀏覽器來説是透明的:服務器在發送資源前自動完成壓縮,而瀏覽器在渲染前會自動解壓。服務器端的軟件和前端開發人員通常無需直接處理壓縮或解壓

php , HTTP , 壓縮 , curl

Leojx - 帶有 PHP Curl 擴展的 HTTP/3 請求

HTTP/3 是 HTTP 的第三個主要版本,基於 QUIC。與依賴 TCP 的 HTTP/1.1 和 HTTP/2 不同,HTTP/3 基於名為 QUIC 的多路複用 UDP 協議。HTTP/3 與 TLS 1.3 配合使用,可以顯著提升性能並降低延遲。儘管 HTTP/3 更改了許多傳輸層語義(例如從 TCP 轉換為 UDP),但請求標頭、請求方法、響應和狀態碼的 HTTP 語義仍然保持不變。

http3 , php , HTTP , curl

Leojx - Redis 熱點 key 治理

Redis 的“熱點 key”問題指的是某些 key 被頻繁訪問(讀或寫),導致服務器負載不均衡甚至性能瓶頸。在高併發系統中,這是常見的性能隱患之一。 一、熱點 Key 的危害 單點瓶頸:某個 key 被高頻訪問,導致 Redis CPU 飆升,QPS 降低。 緩存擊穿:熱點 key 失效後瞬間大量請求落到數據庫,可能造成雪崩。 負載不均:集羣中某節點因為熱點 key 負載過高。 延遲

redis , 熱點 , redis集羣 , 緩存設計

Leojx - 測試 PHP 隨機數函數的隨機性

隨機數生成是指產生不可預測數字的過程,在許多依賴隨機性的不確定性應用中發揮着關鍵作用。一個理想的隨機數序列不應具備可預測性。 “真正”的隨機數生成可以依賴多種方式,例如擲硬幣、擲骰子,甚至基於自然現象的物理過程,如宇宙輻射、大氣壓力或熔岩燈的變化等,這些方法在計算機中極難被模擬或預測。 為此,大多數現代操作系統都嘗試提供接近真實隨機性的生成器,通常基於硬盤旋轉延遲等系統層面的測量機制。為了

隨機數 , 隨機數種子 , php , 教程 , 知識