Redis物理文件結構

 

Redis物理文件結構 html

對於數據庫,我的習慣先從物理結構文件入手,總體上看一下有哪些文件,都是什麼做用。
相似於MySQL,數據文件和配置文件是Redis最基本也是作主要的兩個物理文件之一,相比MySQL或者其餘數據庫,Redis的相關的物理文件至關的簡單。
與MySQL眼花繚亂的各類數據文件,日誌文件等等不一樣,默認狀況除了配置文件redis.conf(固然配置文件能夠隨意指定位置),只有一個數據文件dump.rdb
甚至連日誌文件都沒有,以下的日誌文件是本身經過配置指定的,整個文件結構很是乾淨清爽。redis

 

Redis的數據文件數據庫

Redis實例默認有16個數據庫,Redis中的數據庫是一個邏輯上的概念,其數據庫物理文件不像其餘的數據,每一個數據庫分別對應一組物理文件(數據文件,日誌問題等等),
Redis全部的數據庫對應着同一個物理文件,也即數據庫文件,默認名稱爲dump.rdb。
Redis默認數據庫的個數爲16,可是對應同一個物理文件dump.rdb3d

Redis下切換數據庫
./bin/redis-cli -h 127.0.0.1 登錄以後默認是數據庫0
select n能夠切換數據庫日誌

Redis的數據文件並非與數據實時同步的,在默認的配置下以及說明以下
# save 900 1      900秒內至少有1個key被改變
# save 300 10      300秒內至少有300個key被改變
# save 60 10000     60秒內至少有10000個key被改變orm

Redis的「數據庫」僅僅是一個邏輯上的概念,更多關於Redis中數據庫的概念,請參考:http://blog.kankanan.com/article/52ff7528-redis-7684591a5e93.htmlhtm

 

Redis配置文件blog

相似於MySQL的配置信息my.cnf,Redis也有相似的配置文件和配置信息,好比端口號,是數據文件路徑等等
對於配置選項的查詢,相似於MySQL中的global_variables或者show variables命令同樣(select * from performance_schema.global_variables;show variables like '%innodb_autoinc_lock_mode%';)
redis能夠經過config get configkey 來獲取某一個配置項的配置信息,config get 查詢不存在的配置項的時候返回空。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配置文件詳解:http://www.javashuo.com/article/p-dsfhlhal-hs.html

相關文章
相關標籤/搜索