Redis是由意大利人Salvatore Sanfilippo(網名:antirez)開發的壹款內存高速緩存數據庫。Redis全稱為:Remote Dictionary Server(遠程數據服務),該軟件使用C語言編寫,Redis是壹個key-value存儲系統,它支持豐富的數據類型,如:string、list、set、zset(sorted set)、hash。
2. Redis特點
Redis以內存作為數據存儲介質,所以讀寫數據的效率極高,遠遠超過數據庫。以設置和獲取壹個256字節字符串為例,它的讀取速度可高達110000次/s,寫速度高達81000次/s。
Redis跟memcache不同的是,儲存在Redis中的數據是持久化的,斷電或重啟後,數據也不會丟失。因為Redis的存儲分為內存存儲、磁盤存儲和log文件三部分,重啟後,Redis可以從磁盤重新將數據加載到內存中,這些可以通過配置文件對其進行配置,正因為這樣,Redis才能實現持久化。
Redis支持主從模式,可以配置集群,這樣更利於支撐起大型的項目,這也是Redis的壹大亮點。
3. Redis應用場景,它能做什麽
眾多語言都支持Redis,因為Redis交換數據快,所以在服務器中常用來存儲壹些需要頻繁調取的數據,這樣可以大大節省系統直接讀取磁盤來獲得數據的I/O開銷,更重要的是可以極大提升速度。
拿大型網站來舉個例子,比如a網站首頁壹天有100萬人訪問,其中有壹個板塊為推薦新聞。要是直接從數據庫查詢,那麽壹天就要多消耗100萬次數據庫請求。上面已經說過,Redis支持豐富的數據類型,所以這完全可以用Redis來完成,將這種熱點數據存到Redis(內存)中,要用的時候,直接從內存取,極大的提高了速度和節約了服務器的開銷。
總之,Redis的應用是非常廣泛的,而且極有價值,真是服務器中的壹件利器,所以從現在開始,我們就來壹步步學好它。