redis 中如何切換db
一台服務器上都快開啟200個redis實例了,看着就崩潰了。這么做無非就是想讓不同類型的數據屬於不同的應用程序而彼此分開。
那么,redis有沒有什么方法使不同的應用程序數據彼此分開同時又存儲在相同的實例上呢?就相當於MySQL數據庫,不同的應用程序數據存儲在不同的數據庫下。
redis下,數據庫是由一個整數索引標識,而不是由一個數據庫名稱。默認情況下,一個客戶端連接到數據庫0。redis配置文件中下面的參數來控制數據庫總數:
/etc/redis/redis.conf
文件中,有個配置項 databases = 16 //默認有16個數據庫

可以通過下面的命令來切換到不同的數據庫下
隨后,所有的命令將使用數據庫3,知道你明確的切換到另一個數據庫下。
每個數據庫都有屬於自己的空間,不必擔心之間的key沖突。
不同的數據庫下,相同的key取到各自的值。
flushdb命令清除數據,只會清除當前的數據庫下的數據,不會影響到其他數據庫。
flushall命令會清除這個實例的數據。在執行這個命令前要格外小心。
數據庫的數量是可以配置的,默認情況下是16個。修改redis.conf下的databases指令:
redis沒有提供任何方法來關聯標識不同的數據庫。因此,需要你來跟蹤什么數據存儲到哪個數據庫下。
因此上面的快開啟200個實例的場景,可以使用不同的數據庫來存儲,而不必開啟如此那么多的實例。
配置文件可以配置
redis.port=端口
#db
redis.db = 3