注意:redis支援多個資料庫,並且每個資料庫的資料是隔離的不能共享,並且基於單機才有,如果是集群就沒有資料庫的概念。
redis是乙個字典結構的儲存伺服器,而實際上乙個redis例項提供了多個用來儲存資料的字典,客戶端可以指定將資料儲存在哪個字典中。這與我們熟知的在乙個關聯式資料庫例項中可以建立多個資料庫類似,所以可以將其中的每個字典都理解成乙個獨立的資料庫。
每個資料庫對外都是乙個從0開始的遞增數字命名,redis預設支援16個資料庫(可以通過配置檔案支援更多,無上限),可以通過配置databases來修改這一數字。客戶端與redis建立連線後會自動選擇0號資料庫,不過可以隨時使用select命令更換資料庫,如要選擇1號資料庫:
redis> select 1okredis [
1] >get foo
(nil)
然而這些以數字命名的資料庫又與我們理解的資料庫有所區別。首先redis不支援自定義資料庫的名字,每個資料庫都以編號命名,開發者必須自己記錄哪些資料庫儲存了哪些資料。另外redis也不支援為每個資料庫設定不同的訪問密碼,所以乙個客戶端要麼可以訪問全部資料庫,要麼連乙個資料庫也沒有許可權訪問。最重要的一點是多個資料庫之間並不是完全隔離的,比如flushall命令可以清空乙個redis例項中所有資料庫中的資料。綜上所述,這些資料庫更像是一種命名空間,而不適宜儲存不同應用程式的資料。比如可以使用0號資料庫儲存某個應用生產環境中的資料,使用1號資料庫儲存測試環境中的資料,但不適宜使用0號資料庫儲存a應用的資料而使用1號資料庫b應用的資料,不同的應用應該使用不同的redis例項儲存資料。由於redis非常輕量級,乙個空redis例項占用的內在只有1m左右,所以不用擔心多個redis例項會額外占用很多記憶體。
參考:以上內容**此篇文章)
Redis多個資料庫
注意 redis支援多個資料庫,並且每個資料庫的資料是隔離的不能共享,並且基於單機才有,如果是集群就沒有資料庫的概念。redis是乙個字典結構的儲存伺服器,而實際上乙個redis例項提供了多個用來儲存資料的字典,客戶端可以指定將資料儲存在哪個字典中。這與我們熟知的在乙個關聯式資料庫例項中可以建立多個...
Redis 的DB多個資料庫使用
redis自己安裝預設提供了16個資料庫.每個資料庫都有乙個id,從0開始,0,15 不同的資料庫中資料隔離儲存。我們可以通過修改redis的配置檔案進行修改資料庫的數量。etc redis redis.conf 檔案中,有個配置項 databases 16 預設有16個資料庫 資料庫是由乙個整數索...
hibernate配置多個資料庫
我的問題是 我做了乙個平台,這個平台的多個客戶要使用一台伺服器。我用的資料庫是oracle,這樣的話,我想讓hibernate 配置上多個資料庫連線,而這些資料庫是相同表名,只是庫名不同。我查了其他說法 方案一 寫兩個hibernate.cfg.xml 使用資料庫a的時候 configuration...