眾所周知,在傳統的單機模型應用中,數據都存儲在數據庫中,應用通過DAO訪問數據庫,獲取業務所需的數據。然而,隨着互聯網的普及,應用訪問量急劇上升,繼續通過DAO訪問數據庫,必將對數據庫造成巨大壓力。將Redis作為緩存的中間件,應用可將數據存儲在內存中直接讀取,極大提高了獲取數據的速度,降低了服務器的壓力。
Redis采用單線程模型,所有的命令由一個線程串行執行,當執行某個命令耗時較長時,會拖慢其后的所有命令。因此,雖然Redis是一個非常快速的內存數據存儲媒介,但是當任務執行緩慢時,仍然會產生性能問題。
Redis既是一個使用C語言編寫的開源Key-Value數據庫,也是一個可支持網絡、可基於內存的持久化NOSQL數據庫,它提供多種語言的API驅動,例如:Java,C/C++,C#,PHP,Java,Perl,Object-C,Python,Ruby等。
Redis優化總結
①根據業務需要選擇合適的數據類型,並為不同的應用場景設置相應的緊湊存儲參數。
②若業務場景不需要數據持久化,關閉持久化方式用以提高處理性能及內存使用率。
③不要讓你的Redis所在機器物理內存使用超過實際內存總量的60%。
④默認情況下,盡量不要讓Redis實例的客戶端連接數超出5000。
參照:https://www.sohu.com/a/243253839_557054