国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

Redis存儲及Cache需求的驚人性能

Redis擁有卓越的性能,令國內前十大網站的子產品只需1臺Redis就能滿足存儲及Cache的需求。然而,業(yè)界對于Redis的認識中存在著一些誤區(qū),本文將探討這些觀點。 Redis的獨特設計與優(yōu)勢Re

Redis擁有卓越的性能,令國內前十大網站的子產品只需1臺Redis就能滿足存儲及Cache的需求。然而,業(yè)界對于Redis的認識中存在著一些誤區(qū),本文將探討這些觀點。

Redis的獨特設計與優(yōu)勢

Redis在內存中設計了多種數據類型,使得業(yè)務能夠高速、原子地訪問這些數據結構,而且無需關心持久存儲的問題。從架構上看,Redis解決了以往存儲需要繞過一些障礙的問題。

Redis超越Memcache的性能優(yōu)勢

有開發(fā)者認為Redis不可能比Memcached更快,因為Memcached完全基于內存,而Redis具備持久保存特性。即便是異步的,Redis也不應該比Memcached更快才對。但測試結果卻顯示Redis幾乎總是占據絕對優(yōu)勢。

單臺Redis存儲數據的合理性考量

盡管Redis的數據全部存儲在內存中能帶來高速性能,但也存在一些不太合理的地方。例如,一個中型網站有100萬注冊用戶,若要用Redis存儲這些數據,內存容量必須足夠容納所有這些用戶數據。然而實際業(yè)務情況下,活躍用戶可能只有5萬,1周內訪問過1次的用戶可能只有15萬。因此,將所有100萬用戶數據都放入內存顯得有些不合理,RAM需為“冷數據”買單。

Redis的VM實現與輪子重復制造

Redis的VM實現遵循之前的epoll實現思路,仍然是自主實現。然而,在前述操作系統介紹中,提到操作系統可以自動幫助程序實現熱數據與冷數據分離,Redis只需向操作系統申請一塊大內存,操作系統會自動將熱數據存放于物理內存,而將冷數據交換至硬盤。Varnish這一知名的“理解了現代操作系統”的實踐便是如此,取得了巨大成功。

最優(yōu)化使用Redis的方法

許多開發(fā)者天然傾向于使用set/get方式來操作Redis作為key-value存儲。然而,這并非最佳的使用方法。特別在未啟用VM的情況下,Redis需要將全部數據存入內存,因此節(jié)省內存顯得尤為重要。

使用AOF替代快照功能的合理性

Redis有兩種存儲方式,默認采用快照方式,即定期將內存快照持久化到硬盤。然而,這種方式的缺陷在于若出現崩潰,則可能丟失部分數據。出于追求完美的動機,作者增加了AOF方式。AOF即追加模式,它將操作命令保存到日志文件。然而,在一個并發(fā)修改頻繁的系統中,命令日志會變得非常龐大,管理和維護成本也會極高,而且恢復重建時間會變得很長。這樣做導致AOF失去了高可用性的初衷。另外,Redis作為內存數據結構模型,其所有優(yōu)勢都建立在對內存復雜數據結構高效的原子操作上,所以AOF顯得有些不協調。

新深度解析Redis優(yōu)化與誤區(qū)解讀

標簽: