你好,歡迎進(jìn)入江蘇優(yōu)軟數(shù)字科技有限公司官網(wǎng)!
發(fā)布時(shí)間:2023-11-22
瀏覽次數(shù):0
一、16個(gè)數(shù)據(jù)庫的由來
Redis是一個(gè)字典結(jié)構(gòu)的存儲(chǔ)服務(wù)器。 一個(gè)Redis實(shí)例提供多個(gè)字典來存儲(chǔ)數(shù)據(jù)。 客戶端可以指定將數(shù)據(jù)存儲(chǔ)在哪個(gè)字典中。這類似于關(guān)系數(shù)據(jù)庫實(shí)例中可以創(chuàng)建多個(gè)數(shù)據(jù)庫(如下圖所示),因此每個(gè)字典可以理解為一個(gè)獨(dú)立的數(shù)據(jù)庫。
以MySQL實(shí)例為例
Redis默認(rèn)支持16個(gè)數(shù)據(jù)庫。 您可以通過調(diào)整Redis配置文件redis/redis.conf來修改該值。 設(shè)置完成后,重啟Redis即可完成配置。
客戶端與Redis建立連接后,默認(rèn)會(huì)選擇0號(hào)數(shù)據(jù)庫,但您可以隨時(shí)使用命令更改數(shù)據(jù)庫。
#?切庫
redis>?SELECT?1?#?默認(rèn)0號(hào)db,切換為1號(hào)db
OK
redis?[1]?>?GET?username?#?從1號(hào)庫中獲取?username?
(nil)
實(shí)際項(xiàng)目中,可以通過Redis配置文件的形式指定數(shù)據(jù)庫,如下圖
2.正確理解Redis的“數(shù)據(jù)庫”概念
由于Redis不支持自定義數(shù)據(jù)庫名稱,因此每個(gè)數(shù)據(jù)庫都以數(shù)字命名。 開發(fā)者需要自己記錄存儲(chǔ)的數(shù)據(jù)與數(shù)據(jù)庫的對(duì)應(yīng)關(guān)系。 另外,Redis不支持為每個(gè)數(shù)據(jù)庫設(shè)置不同的訪問密碼intellij idea 數(shù)據(jù)庫關(guān)系圖,因此一個(gè)客戶端要么可以訪問所有數(shù)據(jù)庫,要么所有數(shù)據(jù)庫都沒有權(quán)限訪問。 不過,要正確理解Redis的“數(shù)據(jù)庫”概念,這里必須提到一個(gè)命令:
#?清空一個(gè)Redis實(shí)例中所有數(shù)據(jù)庫中的數(shù)據(jù)
redis?127.0.0.1:6379>?FLUSHALL
該命令可以清除實(shí)例下的所有數(shù)據(jù)庫數(shù)據(jù),這與我們熟悉的關(guān)系數(shù)據(jù)庫不同。 關(guān)系數(shù)據(jù)庫往往會(huì)使用多個(gè)庫來存儲(chǔ)不同應(yīng)用的數(shù)據(jù),沒有辦法同時(shí)清除實(shí)例下的所有庫數(shù)據(jù)。 所以對(duì)于Redis來說,這些db更像是,不適合存儲(chǔ)來自不同應(yīng)用程序的數(shù)據(jù)。 例如,您可以使用0號(hào)數(shù)據(jù)庫存儲(chǔ)應(yīng)用程序生產(chǎn)環(huán)境的數(shù)據(jù),使用1號(hào)數(shù)據(jù)庫存儲(chǔ)測試環(huán)境的數(shù)據(jù)。 但是,使用0號(hào)數(shù)據(jù)庫存儲(chǔ)應(yīng)用程序A的數(shù)據(jù)和使用1號(hào)數(shù)據(jù)庫存儲(chǔ)應(yīng)用程序B的數(shù)據(jù)是不合適的,是不同的。 應(yīng)用程序應(yīng)該使用不同的Redis實(shí)例來存儲(chǔ)數(shù)據(jù)。 Redis 非常輕量級(jí)。 一個(gè)空的Redis實(shí)例僅占用1M左右,因此無需擔(dān)心多個(gè)Redis實(shí)例占用大量額外內(nèi)存。
3. 集群是否支持一個(gè)實(shí)例多個(gè)DB?
需要說明的是,以上都是基于單個(gè)Redis。 在集群情況下,不支持使用命令切換db,因?yàn)镽edis集群模式下只有一個(gè)db0。 展開一下集群和單機(jī)Reids的區(qū)別,有興趣的朋友可以查看相關(guān)資料進(jìn)行更深入的了解,這里就不討論了。
4. 總結(jié)
Redis實(shí)例默認(rèn)創(chuàng)建16個(gè)db。 由于不支持獨(dú)立的數(shù)據(jù)庫命名,所以以dbX命名。 可以通過修改配置文件的值來設(shè)置默認(rèn)的數(shù)據(jù)庫數(shù)量。 db的正確理解應(yīng)該是“命名空間”。 多個(gè)應(yīng)用程序不應(yīng)該使用同一個(gè)Redis不同的庫,但一個(gè)應(yīng)用程序應(yīng)該對(duì)應(yīng)一個(gè)Redis實(shí)例。 不同環(huán)境下可以使用不同的數(shù)據(jù)庫來存儲(chǔ)數(shù)據(jù)。 最后請注意,Redis集群中只有db0intellij idea 數(shù)據(jù)庫關(guān)系圖,不支持多個(gè)db。
END好文章推薦
如有侵權(quán)請聯(lián)系刪除!
Copyright ? 2023 江蘇優(yōu)軟數(shù)字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服務(wù)提供商
13262879759
微信二維碼