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