背景
在實際項目中redis常被應用於做緩存,分布式鎖/消息隊列等。但是在搭建配置好redis服務器后很多朋友應該會發現和有這樣的疑問,為什么redis默認建立了16個數據庫,
16個數據庫的由來
redis是一個字典結構的存儲服務器,一個redis實例提供了多個用來存儲數據的字典,客戶端可以指定將數據存儲在哪個字典中。這與在一個關系數據庫實例中可以創建多個數據庫類似,所有可以將其中的每個字典都理解成一個獨立的數據庫。redis默認支持16個數據庫,可以通過調整redis的配置文件redis/redis.conf中的databases來修改這一個值,設置完畢后重啟redis便完成配置。
客戶端與redis建立鏈接后會默認選擇0號數據庫,不過可以隨時使用select命令更換數據庫。
# 切換數據庫操作:切換到1
127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]>
127.0.0.1:6379[1]>
# 切換到0
127.0.0.1:6379[1]> SELECT 0
OK
127.0.0.1:6379>
# 從1號庫中獲取username
127.0.0.1:6379[1]> get username 。
在實際項目中則可以通過以redis配置文件的形式指定數據庫
集群情況下是否支持一個實例多個db?
以上所說的都是基於單體redis的情況。而在集群的情況下不支持使用select命令來切換db,因為redis集群模式下只有一個db0。