共計(jì) 862 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
自動(dòng)寫代碼機(jī)器人,免費(fèi)開通
丸趣 TV 小編給大家分享一下 redis 能否做數(shù)據(jù)庫用取決于哪些條件,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
redis 能否做數(shù)據(jù)庫用取決于如下幾個(gè)條件:
1:數(shù)據(jù)量,畢竟內(nèi)存數(shù)據(jù)庫,還是受限于內(nèi)存的容量,雖然可以 redis 可以持久化。
2:數(shù)據(jù)的結(jié)構(gòu),是否能夠?qū)㈥P(guān)系型數(shù)據(jù)結(jié)構(gòu)都轉(zhuǎn)換為 key/value 的形式。
3:查詢的效率,對(duì)范圍查詢等,是否能轉(zhuǎn)換為高效的 hash 索引查詢
redis 能不能拿來當(dāng)數(shù)據(jù)庫,取決于你想要存儲(chǔ)什么數(shù)據(jù):
如果你打算存儲(chǔ)一些臨時(shí)數(shù)據(jù),數(shù)據(jù)規(guī)模不大,不需要太復(fù)雜的查詢,但是對(duì)性能的要求比較高,那可以拿 redis 當(dāng)數(shù)據(jù)庫使用。
否則別拿來當(dāng)數(shù)據(jù)庫用。
redis 能不能做數(shù)據(jù)庫,要看你具體的需求了:
1. 像上面提到的,redis 的持久化有問題,如果使用 aof 模式,并且 fsync always,則性能比 mysql 還低,如果你喜歡 redis 方便的數(shù)據(jù)結(jié)構(gòu)而對(duì)性能要求不高,或者性能要求很高,但允許一定程度的丟失數(shù)據(jù),則可以用 redis 做為數(shù)據(jù)庫。
2. redis 是內(nèi)存數(shù)據(jù)庫,內(nèi)存寫滿后,數(shù)據(jù)不會(huì)存儲(chǔ)到硬盤上(VM 不穩(wěn)定,diskstore 未啟用),如果你內(nèi)存足夠大,則可以用 redis 作為數(shù)據(jù)庫。
redis 是一種 k / v 的內(nèi)存數(shù)據(jù)庫,適合小數(shù)據(jù)量的存儲(chǔ)以及實(shí)時(shí)要求高的地方,但是不適合做完整數(shù)據(jù)庫,完整數(shù)據(jù)庫基本上都有一套詳細(xì)解決方案,基本上沒有做了的,比如 mysql。
項(xiàng)目里用到的 redis 是用來做緩存的,設(shè)置過期時(shí)間,到時(shí)就自動(dòng)清掉。數(shù)據(jù)庫還是用 mysql 等這種成熟的方案。
如果你非要用一種 nosql 來做數(shù)據(jù)庫,推薦你用 Mongodb。
這種 KV 存儲(chǔ)完全不具備數(shù)據(jù)庫所能提供的數(shù)據(jù)安全性保障。
所以還是用來做緩存比較合適。
redis 做數(shù)據(jù)庫不靠譜,不是所有的數(shù)據(jù)都是立即回寫磁盤的。
看完了這篇文章,相信你對(duì) redis 能否做數(shù)據(jù)庫用取決于哪些條件有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!
向 AI 問一下細(xì)節(jié)
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!