天天看點

《Redis實戰》一1.5 小結

本節書摘來異步社群《redis實戰》一書中的第1章,第1.1節,作者: 【美】josiah l. carlson(約西亞 l.卡爾森)譯者: 黃健宏 責編: 楊海玲,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

本章對redis進行了初步的介紹,說明了redis與其他資料庫的相同之處和不同之處,以及一些讀者可能會使用redis的理由。在閱讀本書的後續章節之前,請記住本書的目标并不是建構一個完整的應用或者工具,而是展示各式各樣的問題,并給出使用redis來解決這些問題的辦法。

本章希望向讀者傳達這樣一個概念:redis是一個可以用來解決問題的工具,它既擁有其他資料庫不具備的資料結構,又擁有記憶體存儲(這使得redis的速度非常快)、遠端(這使得redis可以與多個用戶端和伺服器進行連接配接)、持久化(這使得伺服器可以在重新開機之後仍然保持重新開機之前的資料)和可擴充(通過主從複制和分片)等多個特性,這使得使用者可以以熟悉的方式為各種不同的問題建構解決方案。

在閱讀本書的後續章節時,請讀者注意自己解決問題的方式發生了什麼變化:你也許會驚訝地發現,自己思考資料問題的方式已經從原來的“怎樣将我的想法塞進資料庫的表和行裡面”,變成了“使用哪種redis資料結構來解決這個問題比較好呢?”。

接下來的第2章将介紹使用redis建構web應用的方法,閱讀這一章将幫助你更好地了解redis的用法和用途。

① 分片是一種将資料劃分為多個部分的方法,對資料的劃分可以基于鍵包含的id、基于鍵的散列值,或者基于以上兩者的某種組合。通過對資料進行分片,使用者可以将資料存儲到多台機器裡面,也可以從多台機器裡面擷取資料,這種方法在解決某些問題時可以獲得線性級别的性能提升。

② 客觀來講,memcached也能用在這個簡單的場景裡,但使用redis存儲聚合資料有以下3個好處:首先,使用redis可以将彼此相關的聚合資料放在同一個結構裡面,這樣通路聚合資料就會變得更為容易;其次,使用redis可以将聚合資料放到有序集合裡面,建構出一個實時的排行榜;最後,redis的聚合資料可以是整數或者浮點數,而memcached的聚合資料隻能是整數。