Redis物理文件結構


 

Redis物理文件結構 

對於數據庫,個人習慣先從物理結構文件入手,整體上看一下有哪些文件,都是什么作用。
類似於MySQL,數據文件和配置文件是Redis最基本也是做主要的兩個物理文件之一,相比MySQL或者其他數據庫,Redis的相關的物理文件相當的簡單。
與MySQL眼花繚亂的各種數據文件,日志文件等等不同,默認情況除了配置文件redis.conf(當然配置文件可以隨意指定位置),只有一個數據文件dump.rdb
甚至連日志文件都沒有,如下的日志文件是自己通過配置指定的,整個文件結構非常干凈清爽。

 

Redis的數據文件

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

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被改變

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

 

Redis配置文件

類似於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 查詢不存在的配置項的時候返回空。

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM