原创 mysql char/varchar的區別
最需要關注的四點: 字符串結尾空格: char:不保留,"abc " 存爲 "abc" varchar:保留, 存儲定長: char:佔用的存儲空間固定,不由內容決定 varchar:佔用的存儲空間不固定,由內容決定 可用長度
原创 openresty中應用murmurHash
介紹: MurmurHash 是一種非加密型哈希函數,適用於一般的哈希檢索操作。由Austin Appleby在2008年發明,並出現了多個變種,都已經發布到了公有領域(public domain)。與其它流行的哈希函數相比,對於規律性較
原创 淺談賬戶安全
一、什麼是賬號安全,主要涉及幾大方面 1,防養號 1.1 惡意註冊/登錄 危害:黑產養號,準備隨時作惡 2,防刷 2.1 刷廣告 危害:破壞產品生態,涉黃涉政 2.2 擼羊毛
原创 圖解反轉單向鏈表
核心代碼 /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *pNext;
原创 mysql事務隔離級別解讀
一、mysql事務隔離級別,有幾種? 1.讀未提交(read uncommitted) 2.讀提交(read committed) 3.可重複讀(repeatable read) - default 4.串行化(serializabl
原创 perf top查看進程cpu高原因
幾個關鍵的選項 $perf top -h -p, --pid <pid> profile events on existing process id -g enables call-g
原创 關於分佈式事務、兩階段提交協議、三階提交協議
結論:無論是二階段提交還是三階段提交都無法徹底解決分佈式的一致性問題 ------------------- 分割線 隨着大型網站的各種高併發訪問、海量數據處理等場景越來越多,如何實現網站的高可用、易伸縮、可擴展、安全等目標就顯得越
原创 樂觀鎖、悲觀鎖、共享鎖、排它鎖、行鎖、表鎖
樂觀鎖:是一種設計思想,場景是讀多寫少,衝突少,用數據版本號解決一致性 悲觀鎖:是一種設計思想,場景是寫多,衝突多,每次都加鎖 共享鎖:又稱讀鎖,用法SELECT ... LOCK IN SHARE MODE; 排它鎖:又稱寫鎖,用法
原创 kafka和rabbitmq選型
前言:選擇適用的消息隊列,至少要關注多個維度,基於kafka和rabbitmq,文章假定讀者對消息隊列已有一定的瞭解,探討以下內容 (1)順序性 (2)冪等性 (3)持久化 (4)性能 (5)容災 (6)安全機制 (7)可靠性 一
原创 深入理解樂觀鎖與悲觀鎖
先說結論 寫多,衝突概率高,用悲觀鎖。 讀多寫少,衝突概率低,用樂觀鎖。 數據庫管理系統(DBMS)中的併發控制的任務是確保在多個事務同時存取數據庫中同一數據時不破壞事務的隔離性和統一性以及數據庫的統一性。 樂觀併發控制(樂觀鎖)和悲
原创 後端開發應該讀那些計算機系統基礎書籍?
書不再多,在於精,技術底層原理是共通的。 讀哪些?順序如下。 一、《UNIX環境高級編程》 二、《UNIX網絡編程 卷1:套接字聯網API》 三、《UNIX網絡編程 卷2 : 進程間通信》 四、《深入瞭解計算機系統》 五、《深入lin
原创 基於redis集羣設置密碼的實例
今天小編就爲大家分享一篇基於redis集羣設置密碼的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 注意事項: 1.如果是使用redis-trib.rb工具構建集羣,集羣構建完成前不要配置密碼
原创 linux創建空洞文件
文件偏移量可以大於文件的當前長度,會在文件中構成空洞,文件中的空洞並不要求在磁盤上佔用存儲區 源碼: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #
原创 深夜隨想,如何突破瓶頸
當技術到達一定的天花板,方法論可以成爲突破瓶頸的重要手段。 方法論不僅涉及技術研發,產品運營,也涉及管理領域,需要融會貫通。 知道要做什麼,比做更重要。 共勉;
原创 TCP/IP編程之connect函數與accept函數的關係
一、原理 connect函數成功,並不代表服務器應用程序已經調用accept函數 我是圖: 二、測試 客戶端代碼: #include <stdio.h> #include <sys/types.h> #include <sys/