Redis物理文件結構
Redis物理文件結構
對於數據庫,個人習慣先從物理結構文件入手,整體上看一下有哪些文件,都是什麽作用。
類似於MySQL,數據文件和配置文件是Redis最基本也是做主要的兩個物理文件之一,相比MySQL或者其他數據庫,Redis的相關的物理文件相當的簡單。
與MySQL眼花繚亂的各種數據文件,日誌文件等等不同,默認情況除了配置文件redis.conf(當然配置文件可以隨意指定位置),只有一個數據文件dump.rdb
甚至連日誌文件都沒有,如下的日誌文件是自己通過配置指定的,整個文件結構非常幹凈清爽。
Redis的數據文件
Redis實例默認有16個數據庫,Redis中的數據庫是一個邏輯上的概念,其數據庫物理文件不像其他的數據,每個數據庫分別對應一組物理文件(數據文件,日誌問題等等),
Redis默認數據庫的個數為16,但是對應同一個物理文件dump.rdb
Redis下切換數據庫
./bin/redis-cli -h 127.0.0.1 登陸之後默認是數據庫0
select n可以切換數據庫
Redis的“數據庫”僅僅是一個邏輯上的概念,更多關於Redis中數據庫的概念,請參考:http://blog.kankanan.com/article/52ff7528-redis-7684591a5e93.html
Redis配置文件
類似於MySQL的配置信息my.cnf,Redis也有類似的配置文件和配置信息,比如端口號,是數據文件路徑等等
redis可以通過config get configkey 來獲取某一個配置項的配置信息,config get 查詢不存在的配置項的時候返回空。
config get * 獲取所有的配置選項,config get 出來的結果格式並非類似於關系數據庫中的key:value的格式,
而是key一行,value一行,因此config get出來的結果必然是偶數行
配置文件參數的修改
1,類似於MySQL修改配置文件,直接修改配置文件後重啟Redis服務
2,使用config set 修改參數
使用config set設置參數存在的問題:
1,config set 並不能修改所有的參數,有些參數是不支持config set 修改的
比如loglevel是可以通過config set 修改的,而databases參數就不可以通過config set修改,對於不支持的config set的選項,會提示:ERR Unsupported CONFIG parameter:
2,config set修改後的參數,並不能持久化,也就是說redis服務重啟之後,config set 修改的參數依舊會按照配置文件中的來
因此,在Redis中,對於配置信息的修改,建議之一修改配置文件,而不是通過config set 來修改。
相關參考:
勿用Redis多庫:http://blog.kankanan.com/article/52ff7528-redis-7684591a5e93.html
redis配置文件詳解:https://www.cnblogs.com/AlanLee/p/7053577.html
Redis物理文件結構