天天看點

java程式設計細節——你所要知道的Redis

1. 使用Redis有哪些好處?

(1) 速度快,因為資料存在記憶體中,類似于HashMap,HashMap的優勢就是查找和操作的時間複雜度都是O(1)

(2) 支援豐富資料類型,支援string,list,set,sorted set,hash

(3) 支援事務,操作都是原子性,所謂的原子性就是對資料的更改要麼全部執行,要麼全部不執行

(4) 豐富的特性:可用于緩存,消息,按key設定過期時間,過期後将會自動删除

2. redis相比memcached有哪些優勢?

(1) memcached所有的值均是簡單的字元串,redis作為其替代者,支援更為豐富的資料類型

(2) redis的速度比memcached快很多

(3) redis可以持久化其資料

3. redis常見性能問題和解決方案:

(1) Master最好不要做任何持久化工作,如RDB記憶體快照和AOF日志檔案

(2) 如果資料比較重要,某個Slave開啟AOF備份資料,政策設定為每秒同步一次

(3) 為了主從複制的速度和連接配接的穩定性,Master和Slave最好在同一個區域網路内

(4) 盡量避免在壓力很大的主庫上增加從庫

(5) 主從複制不要用圖狀結構,用單向連結清單結構更為穩定,即:Master <- Slave1 <- Slave2 <- Slave3…

這樣的結構友善解決單點故障問題,實作Slave對Master的替換。如果Master挂了,可以立刻啟用Slave1做Master,其他不變。

歡迎工作一到五年的Java工程師朋友們加入Java架構開發:468947140

點選連結加入群聊【Java-BATJ企業級資深架構】:https://jq.qq.com/?_wv=1027&k=5zMN6JB

本群提供免費的學習指導 架構資料 以及免費的解答

不懂得問題都可以在本群提出來 之後還會有職業生涯規劃以及面試指導

歡迎關注筆者,筆者持續更新。