1.什么是redis
Redis作為一個open source key-value store,與傳統(tǒng)的k-v存儲開源方案相比,其value類型支持各種常見數(shù)據(jù)類型(如strings, hashes, lists, sets, sorted-sets, etc.),正因如此,其可被用于多種應用場景。
特別需要說明的是:當需要處理的數(shù)據(jù)能被內存完全容納時,Redis才能發(fā)揮其優(yōu)異的性能,即Redis works with an in-memory dataset。
Redis支持數(shù)據(jù)持久化(persistence),以便Redis服務因各種原因重啟后,可以load之前已有數(shù)據(jù),從而恢復服務狀態(tài)。用戶可根據(jù)實際使用情況選擇兩種持久化策略:
1) RDB方式:dump內存數(shù)據(jù)庫至磁盤
2) AOF方式:將每個寫操作記錄到command log文件中,以便server重啟時回放log以恢復數(shù)據(jù)狀態(tài)(類似于MySQL的binlog)
Redis支持Master-Slave Replication,從庫以全鏡像方式同步主庫數(shù)據(jù),以防系統(tǒng)故障。
Redis目前還不支持集群,不過支持集群的版本已在作者開發(fā)計劃中(cluster目前有alpha版本,尚未發(fā)布生產(chǎn)環(huán)境可用版本)。
雖無官方的集群實現(xiàn),但業(yè)界主流做法是用Partitioning方式將數(shù)據(jù)集散列到不同的redis實例上,從而變相實現(xiàn)了對redis集群的支持,redis官網(wǎng)的這里對partitioning的實現(xiàn)思路做了描述并推薦了twitter開源的一個支持redis的proxy - twemproxy(該proxy最初是作為memcached proxy開源的)。
有兩個基本概念需要區(qū)分:Redis Master-Slave Replication和Redis Cluster,前者在兩個庫之間實現(xiàn)數(shù)據(jù)全鏡像,后者則是將用戶數(shù)據(jù)散列到不同機器上,每個機器的Redis節(jié)點只hold一部分用戶數(shù)據(jù)。
個人感覺,兩種方法都可以起到單點故障容錯作用,只是實現(xiàn)方式及應用場合不同而已。
Redis還可以被用作Message Queue,支持的指令集見這里
關于Redis的更多基礎介紹,可直接查看其官網(wǎng)文檔。
2. Redis Architecture
關于redis的架構及實現(xiàn)細節(jié),有很多資料可以參考,這里推薦2篇:
1) Redis作者antirez關于Redis設計哲學的說明:Redis Manifesto
2) The architecture of REDIS
3. Redis Performance and Application
Redis以其高性能聞名(全內存hold數(shù)據(jù),典型的"空間換時間"),關于其性能的benchmarks,這里給出2篇資料:
1) Redis官方發(fā)布的性能測試工具及測試結果
2) TimYang: MemcacheDB/Tokyo Tyrant/Redis性能對比測試
雖然redis在業(yè)界大熱,但也非包治百病的萬能藥。關于Redis的常見應用場合及注意事項,這里推薦2篇資料:
1) Common Web Use Cases Solved In Redis
2) TimYang: Redis幾個認識誤區(qū)
需要說明的問題:
關于性能,即使假定測試機器配置均相同,Redis的啟動配置不同也會對Redis性能指標產(chǎn)生影響(比如持久化策略的配置)。因此各種性能測試結果具有參考意義,但不可以生搬硬套。
關于應用,不限于本文給出的資料,大家感興趣的話,可用"redis use case"或"redis application"等key words進行搜索。
4. Redis Installing
Redis源碼無外部依賴,故編譯安裝非常方便,從官網(wǎng)下載最新穩(wěn)定版的源碼后,解壓后make即可。
編譯好的bin文件位于在源碼的src目錄下,均以redis-xxx命名。其中:
可執(zhí)行的2進制文件共有5個:
a.redis-benchmark # 性能測試工具
b.redis-check-aof # aof文件修復工具
c.redis-check-dump # rdb文件修復工具
d.redis-cli # 命令行交互工具
e.redis-server # redis server
conf文件兩個:
a.redis.conf # redis server的配置文件
b.sentinel.conf # redis sentinel配置文件,用于監(jiān)控
redis server完成編譯后,部署啟動實例前,需要對redis.conf中的配置項有較為清楚的理解和合理的配置,否則可能會影響redis的性能或造成數(shù)據(jù)丟失。限于篇幅,redis的配置說明會在下篇筆記中詳細描述。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章名稱:1、redis基本概念簡介-創(chuàng)新互聯(lián)
文章地址:http://www.chinadenli.net/article42/cceghc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、品牌網(wǎng)站設計、網(wǎng)站設計、標簽優(yōu)化、定制網(wǎng)站、域名注冊
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)