默認情況下,Redis是一個緩存存儲器,被調用作數據庫使用。它利用易失性內存,可以為用戶提供完整的持久性選項和對其他數據類型的支持。
從前有一段時間,Redis是個全球流行的工具。對于這個曾經橫行全球的緩存工具你了解多少,和我一起開啟一場關它的技巧和事實之旅吧。
1.持久性允許用戶將Redis視為合法的數據庫,而不是不穩定的臨時緩存。如果使用類似的工具“Memcached”重啟,它將丟失相關信息,但Redis可以將數據無損保存并且保持完整。
2.Redis擁有使用所有流行語言開發的客戶端API:C、Ruby、Java、JavaScript和Python。
3.Redis版本2.0的發布提供了擴散數據的功能,應用了訂閱/發布消息傳遞協議(Subscribe/Publish messagingprotocol),也就是pub-sub模型。
4.CPU性能不是Redis的最大障礙,它要么是內存受限,要么是網絡受限。但是,如果出現這種情況,水平/垂直擴展有助于克服任何與CPU相關問題。
5.與MongoDB等傳統數據庫不同,Redis支持事務。
6.Redis的持久性和關系數據庫(RDB):以AOF方式按指定間隔(數據備份)對數據集進行時間點快照,記錄服務器接收到的每個寫入(write)操作。
7.Redis的快照或Redis后臺保存過程只有在服務器沒有后續執行命令時才會介入,因此可保證任何在隨機存儲器(RAM)中報告為基元的指令在磁盤快照中,也被報告為基元。
8.如果您喜歡使用Java,可以使用“Jedis”,這是一個Java客戶機,可以將Java應用程序與Redis連接起來。注意,一個單獨的“Jedis”實例不是線程安全的。為了避免這些問題,“JedisPool”出現了,它是一個線程安全的網絡連接池,默認最大為8。
9.Redis具有數據庫功能。即使與緩存的優點結合起來,它的性能也非常好。事實上,如果不需要持久性,就可以暫時關閉,因為它也可用于緩存。
10.在數據總是留于內存中這一方面,Redis極大地顯示了自己的性能。它超過常規數據庫的讀寫操作能力使開發人員著迷。
11.許多行業領先的公司都使用Redis,包括Twitter、Pinterest和Github,他們是Redis項目的早期采用者,就像DLT實驗室一樣。
12.Redis將數據存儲為鍵值對,其中某些類型的數據結構充當鍵。此外,它還允許對象將其鍵和值的上限設置為512兆字節。這種鍵散列的系統,可用于存儲鍵-值對,被稱為Redis哈希表。
13.Redis最多可以處理2個鍵,實際測試中,每個實例至少可以處理2.5億個鍵。換句話說,使用Redis的限制很可能是機器/基礎結構中的可用內存。
14.Redis里每個可能存在的數據結構都可以容納2個元素,即hash、list、set和sorted set達到峰值時可以使用2個元素。
15.盡管如此,到目前為止Redis在最容易設置的軟件的排行中仍然位列第二,不要問第一是誰!
最后,友情奉送一個小提示,為了用更有效的分配方式實現Linux性能(這是Redis理想的配置方式):將overcommit_memory設置為1。
-
存儲器
+關注
關注
38文章
7484瀏覽量
163765 -
緩存
+關注
關注
1文章
239瀏覽量
26672 -
Redis
+關注
關注
0文章
374瀏覽量
10871
發布評論請先 登錄
相關推薦
評論