1. 程式人生 > >Redis八大特性

Redis八大特性

引言:Redis現在是越來越火了,因為它不僅有良好的讀寫效能,而且還可以用作分散式、高併發,我們一起來看看這個大佬都有什麼特性。

特性一,速度極快。官方給出的資料是 10 萬次 ops 的讀寫,這主要歸功於這些資料都存在於記憶體中,這也是區別於其他關係型資料庫的一點。由於 Redis 是開源的,當你開啟原始碼,就會發現 Redis 都是用 C 語言寫的,C 語言是最接近計算機語言的程式碼,而且只有區區 5 萬行,保證了 Redis 的速度。同時一個 Redis 只是一個單執行緒,其真正的原因還是因為單執行緒在記憶體中是效率最高的。

特性二,持久化。Redis 的持久化可以保證將記憶體中的資料每隔一段時間就保存於磁碟中,重啟的時候會再次載入到記憶體。持久化方式是 RDB

(快照)和 AOF(日誌)。

特性三,支援多種資料結構。分別支援雜湊集合BitMaps,還有點陣圖(多用於活躍使用者數等統計)、HyperLogLog(超小記憶體唯一值計數,由於只有 12K,是有一定誤差範圍的)、GEO(地理資訊定位)。

特性四,支援多種程式語言。支援JavaPHPPythonRubyLuaNodejs

特性五,功能豐富。如釋出訂閱Lua 指令碼事務Pipeline(管道,即當指令到達一定數量後,客戶端才會執行)。

特性六,簡單。不依賴外部庫單執行緒、只有 23000 行 程式碼。

特性七,主從複製。主節點的資料做副本,這是做高可用的基石。

特性八,高可用和分散式Redis-Sentinel(哨兵)(v2.8)支援高可用,Redis-Cluster(v3.0)支援分散式