一臺服務(wù)器上都快開啟200個redis實例了,看著就崩潰了。這么做無非就是想讓不同類型的數(shù)據(jù)屬于不同的應(yīng)用程序而彼此分開。
那么,redis有沒有什么方法使不同的應(yīng)用程序數(shù)據(jù)彼此分開同時又存儲在相同的實例上呢?就相當于mysql數(shù)據(jù)庫,不同的應(yīng)用程序數(shù)據(jù)存儲在不同的數(shù)據(jù)庫下。
redis下,數(shù)據(jù)庫是由一個整數(shù)索引標識,而不是由一個數(shù)據(jù)庫名稱。默認情況下,一個客戶端連接到數(shù)據(jù)庫0。redis配置文件中下面的參數(shù)來控制數(shù)據(jù)庫總數(shù):
databases?16
可以通過下面的命令來切換到不同的數(shù)據(jù)庫下
redis>?select?2 OK
隨后,所有的命令將使用數(shù)據(jù)庫3,知道你明確的切換到另一個數(shù)據(jù)庫下。
每個數(shù)據(jù)庫都有屬于自己的空間,不必擔心之間的key沖突。
不同的數(shù)據(jù)庫下,相同的key取到各自的值。
flushdb命令清除數(shù)據(jù),只會清除當前的數(shù)據(jù)庫下的數(shù)據(jù),不會影響到其他數(shù)據(jù)庫。
flushall命令會清除這個實例的數(shù)據(jù)。在執(zhí)行這個命令前要格外小心。
數(shù)據(jù)庫的數(shù)量是可以配置的,默認情況下是16個。修改redis.conf下的databases指令:
databases?64
redis沒有提供任何方法來關(guān)聯(lián)標識不同的數(shù)據(jù)庫。因此,需要你來跟蹤什么數(shù)據(jù)存儲到哪個數(shù)據(jù)庫下。
因此上面的快開啟200個實例的場景,可以使用不同的數(shù)據(jù)庫來存儲,而不必開啟如此那么多的實例。
更多redis知識請關(guān)注redis入門教程欄目。