為什么不用redis做數據庫

為什么不用redis做數據庫

redis能否做數據庫用取決于如下幾個條件: ? ? ? ? ? ? ? ? ? ? ? ? ? ?(推薦學習:Redis視頻教程

1:數據量,畢竟內存數據庫,還是受限于內存的容量,雖然可以redis可以持久化。

2:數據的結構,是否能夠將關系型數據結構都轉換為key/value的形式。

3:查詢的效率,對范圍查詢等,是否能轉換為高效的hash索引查詢

redis能不能拿來當數據庫,取決于你想要存儲什么數據:

如果你打算存儲一些臨時數據,數據規模不大,不需要太復雜的查詢,但是對性能的要求比較高,那可以拿redis當數據庫使用,否則別拿來當數據庫用。

1. 像上面提到的,redis的持久化有問題,如果使用aof模式,并且fsync always,則性能比mysql 還低,如果你喜歡redis 方便的數據結構而對性能要求不高,或者性能要求很高,但允許一定程度的丟失數據,則可以用redis做為數據庫。

2. redis 是內存數據庫, 內存寫滿后,數據不會存儲到硬盤上(VM 不穩定,diskstore未啟用),如果你內存足夠大,則可以用redis作為數據庫。

redis是一種k/v的內存數據庫,適合小數據量的存儲以及實時要求高的地方,但是不適合做完整數據庫,完整數據庫基本上都有一套詳細解決方案,基本上沒有做了的,比如mysql。

項目里用到的redis是用來做緩存的,設置過期時間,到時就自動清掉。數據庫還是用mysql等這種成熟的方案。

如果你非要用一種nosql來做數據庫,推薦你用Mongodb。

這種KV存儲完全不具備數據庫所能提供的數據安全性保障。

所以還是用來做緩存比較合適。

redis做數據庫不靠譜,不是所有的數據都是立即回寫磁盤的。

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享