原创 Redis核心技術基礎(一)

一、數據結構 1,數據結構   Redis表現突出的原因: 1、在內存中進行操作 2、高效的數據結構(降低複雜度)   Redis的存儲接口主要有:String、List、Hash、Set和Sorted Set(Redis6.0之前)。底層

原创 Linux性能優化實戰內存篇(五)

一、Linux內存工作原理 1,內存映射   Linux內核給每個進程都提供了一個獨立的虛擬空間,並且這個地址空間是連續的。這樣,進程就可以很方便地訪問內存,更確切地說是訪問虛擬內存。   虛擬地址空間的內部又被分爲內核空間和用戶空間兩部分

原创 Linux性能優化實戰CPU篇之總結(四)

一、分析CPU瓶頸 1,性能指標 a>CPU使用率   CPU使用率描述了非空閒時間佔總CPU時間的百分比,根據CPU上運行任務的不同可以分爲:用戶CPU、系統CPU、等待I/O CPU、軟中斷和硬中斷等 用戶CPU使用率,包括用戶態CP

原创 Linux性能優化實戰CPU篇之軟中斷(三)

一、軟中斷 1,中斷的定義 a>定義   舉例:你點了一份外賣,在無法獲知外賣進度的情況下,配送員送外賣是不等人的,到了發現沒人取會直接走,所以你只能苦苦等着,時不時去門口看送到沒有,無法幹別的事情。優化方式就是約定讓配送員送到後打電話告知

原创 Linux性能優化實戰(二)

一、CPU使用率過高 1,CPU使用率 a>節拍率   爲了維護CPU時間,Linux通過事先定義的節拍率(內核中表示爲HZ),觸發時間中斷,並使用全局變量Jiffies記錄開機以來的節拍數。每發生一次時間中斷,Jiffies的值就加1  

原创 Linux性能優化實戰(一)

一、優化方向 1,性能指標   從應用負載的視角出發,考慮“吞吐”和“延時”   從系統資源的視角出發,考慮資源使用率、飽和度等    2,性能優化步驟 選擇指標評估應用程序和系統的性能; 爲應用程序和系統設置性能目標; 進行性能基準測試

原创 結構型模式之適配器模式、橋接模式與裝飾器模式(一)

一、基本介紹   結構型模式(Structural Pattern)關注如何將現有類或對象組織在一起形成更加強大的結構。分爲兩種:1,類結構型模式:關心類的組合,由多個類可以組合成一個更大的系統,在類結構型模式中一般只存在繼承關係和實現關係

原创 創建型模式之原型模式與建造者模式(二)

一、原型模式   原型模式是用於創建重複的對象,同時又能保證性能。這種類型的設計模式屬於創建型模式。它提供了一種創建對象的最佳方式。   這種模式是實現一個原型接口,該接口用於創建當前對象的克隆。當直接創建對象的代價比較大時,則採用這種模式

原创 創建型模式之單例模式與工廠模式(一) Volatile的應用DCL單例模式(四)

一、基本介紹   創建型模式,就是創建對象的模式,抽象了實例化的過程。它幫助一個系統獨立於如何創建、組合和表示它的那些對象。關注的時對象的創建,創建型模式將創建對象的過程進行了抽象,也可以理解爲將創建對象的過程進行了封裝,作爲客戶程序僅僅需

原创 GIT命令集合

一、配置和日誌 配置信息 git config --list //查看當前配置信息 git config -e [--global] //編輯當前(全局

原创 Redis的常用淘汰策略以及算法實現

一、Redis的內存配置 1,Redis配置內存爲多少合適? 默認:如果不設置最大內存大小或者設置最大內存大小爲0,在64爲操作系統下不限制內存大小,在32位操作系統下最多使用3GB內存。 極限情況:留出一倍內存。比如你的redis數據佔用

原创 採用lua腳本獲取mysql、redis數據以及jwt的校驗

一、安裝配置Openresty 1,安裝 wget https://openresty.org/download/ngx_openresty-1.9.7.1.tar.gz # 下載 tar xzvf ngx_openresty-1.9

原创 Spring的IOC常用註解(含源碼)

一、容器中注入組件 1,包掃描 + 組件標註註解   源碼:Demo01_ComponentScan a)組件標註 @Controller @Service @Repository @Component b)包掃描@ComponentS

原创 Redis常用數據類型及其存儲結構(源碼篇)

一、SDS 1,SDS源碼解讀   sds (Simple Dynamic String),Simple的意思是簡單,Dynamic即動態,意味着其具有動態增加空間的能力,擴容不需要使用者關心。String是字符串的意思。說白了就是用C語言

原创 Redis的數據結構與應用場景

一、Redis簡介   Redis 是一個開源的使用 ANSI C 語言編寫、遵守 BSD 協議、支持網絡、可基於內存、分佈式、可選持久性的鍵值對(Key-Value)存儲數據庫,並提供多種語言的 API。   Redis 通常被稱爲數據