目錄
redis優點
redis特性
速度快基於鍵值對的資料結構伺服器
豐富的功能
簡單穩定
客戶端語言多
持久化主從複製
高可用和分布式
redis使用場景
redis可以做什麼
redis不可以做什麼
用好redis的建議
切勿當作黑盒使用,開發與運維同樣重要
閱讀原始碼
redis重大版本
redis2.6
redis2.8
redis3.0
redis3.2
redis4.0
與很多鍵值對資料庫不同的是,redis中的值不僅可以是字串,而且還可以是具體的資料結構,這樣不僅能便於在許多應用場景的開發,同時也能夠提高開發效率。redis的全稱是remote dictionary server,它主要提供了5種資料結構:字串、雜湊、列表、集合、有序集合,同時在字串的基礎之上演變出了點陣圖(bitmaps)和hyperloglog兩種神奇的「資料結構」,並且隨著lbs(location based service,基於位置服務)的不斷發展,redis3.2版本中加入有關geo(地理資訊定位)的功能,總之在這些資料結構的幫助下,開發者可以開發出各種「有意思」的應用。
以筆者維護的上千個redis為例,沒有出現過因為redis自身bug而宕掉的情況。
排行榜系統
計數器應用
社交網路
訊息佇列系統
站在資料冷熱的角度看,資料分為熱資料和冷資料
在很多公司內只有專職的關係型資料庫dba,並沒有nosql的相關運維人員,也就是說開發者很有可能會自己運維redis,對於redis的開發者來說既是好事又是壞事。
參考:《redis開發與運維》
《Redis開發與運維》學習筆記 阻塞
redis是典型的單執行緒架構,所有的讀寫操作都是在一條主線程中完成的。當redis用於高併發場景時,這條執行緒就變成了它的生命線。如果出現阻塞,哪怕是很短時間,對於應用來說都是噩夢。導致阻塞問題的原因 通常redis執行命令速度非常快,但是,如果對乙個包含上萬個元素的hash結構執行hgetall...
《Redis開發與運維》筆記 發布與訂閱
redis提供了基於 發布 訂閱 模式的訊息機制。訊息發布者與訂閱者不直接通訊,發布者客戶端向指定的頻道 channel 發布訊息,訂閱該頻道的每個客戶端都可以接收到資訊。發布訊息 publish channel message 示例 向 channel layne 通道發布一條 hello wor...
redis 開發與運維 1
由於手上負責的專案很依賴redis,而且redis曾經出過問題,故決定好好系統學習一下redis的知識,本文打算先介紹一下redis的基礎知識 首先我們必須明確的幾個知識點1 1 keys 這個命令可以檢視所有的鍵,這是這個 當前db所有的key 127.0 0.1 6379 keys 1 haha...