http://www.ttlsa.com/redis/redis-database/
一臺服務器上都快開啓200個redis實例了,看着就崩潰了。這麼做無非就是想讓不同類型的數據屬於不同的應用程序而彼此分開。
那麼,redis有沒有什麼方法使不同的應用程序數據彼此分開同時又存儲在相同的實例上呢?就相當於mysql數據庫,不同的應用程序數據存儲在不同的數據庫下。
redis下,數據庫是由一個整數索引標識,而不是由一個數據庫名稱。默認情況下,一個客戶端連接到數據庫0。redis配置文件中下面的參數來控制數據庫總數:
databases 16
1
databases 16
可以通過下面的命令來切換到不同的數據庫下
redis> select 2
OK
1
2
redis> select 2
OK
隨後,所有的命令將使用數據庫3,知道你明確的切換到另一個數據庫下。
每個數據庫都有屬於自己的空間,不必擔心之間的key衝突。
key-value
不同的數據庫下,相同的key取到各自的值。
key-value
flushdb命令清除數據,只會清除當前的數據庫下的數據,不會影響到其他數據庫。
key-value
flushall命令會清除這個實例的數據。在執行這個命令前要格外小心。
數據庫的數量是可以配置的,默認情況下是16個。修改redis.conf下的databases指令:
databases 64
1
databases 64
redis沒有提供任何方法來關聯標識不同的數據庫。因此,需要你來跟蹤什麼數據存儲到哪個數據庫下。
因此上面的快開啓200個實例的場景,可以使用不同的數據庫來存儲,而不必開啓如此那麼多的實例。