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

Redis物理文件结构的更多相关文章

  1. mysql数据库的物理文件结构

    mysql两种常用存储引擎myisam和innodb myisam不支持事务:innodb支持事务,当前作为插件来安装 myisam的数据库的物理文件结构为: .frm文件:与表相关的元数据信息都存放 ...

  2. redis 集群配置实战

    文章转载自:http://hot66hot.iteye.com/blog/2050676 最近研究Redis-cluster,正好搭建了一个环境,遇到了很多坑,系统的总结下,等到redis3 rele ...

  3. redis 3.0的集群部署

    转载请注明出处:http://hot66hot.iteye.com/admin/blogs/2050676 最近研究redis-cluster,正好搭建了一个环境,遇到了很多坑,系统的总结下,等到re ...

  4. (转)redis 3.0的集群部署

    一:关于redis cluster 1:redis cluster的现状 reids-cluster计划在redis3.0中推出,可以看作者antirez的声明:http://antirez.com/ ...

  5. Redis集群战法整理

    单机及集群搭建 http://www.codeceo.com/article/distributed-caching-redis-server.html 主从复制设置 Redis服务器复制(主—从配置 ...

  6. Redis Cluster 实践

    一:关于redis cluster 1:redis cluster的现状 reids-cluster计划在redis3.0中推出,可以看作者antirez的声明:http://antirez.com/ ...

  7. windows Docker Desktop 搭建mysql,mssql和redis服务

    其实网上关于docker上搭建mysql的文章已经很多了,只是今晚自己搭建的时候遇到一些问题,记录一下 1.首先是pull image , docker pull mysql 2.启动服务 docke ...

  8. MySQL 物理文件体系结构的简单整理说明

    本文出处:http://www.cnblogs.com/wy123/p/7102128.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  9. Redis在Windows上使用和集群配置

    一.什么是Redis Redis是一个开源的,使用C语言编写的面向键值对类型的分布式Nosql数据库系统,功能类似Memcache,但比Memcache功能更丰富.官网地址:https://redis ...

随机推荐

  1. H5外包 微信小程序外包 小程序外包 就找北京动点开发团队

    长年承接微信小程序.微信公众号开发 全职的H5开发团队,开发过几十款微信小程序公众号案例 欢迎来电咨询 QQ:372900288 微信:liuxiang0884 TEL:13911652504

  2. mysql 8.0 主从复制的优化

    mysql 8.0复制改进一简介: 基于GTID下的并行复制,本文不考虑MGR架构二 主要特性   1 基于writeset的下的改进型并行复制     我在之前的一篇文章关于并行复制中详细的介绍了关 ...

  3. 【C++】static关键字的总结

    转自 https://www.cnblogs.com/BeyondAnyTime/p/2542315.html C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的s ...

  4. JavaScript栈和队列

    栈和队列:JavaScrip没有专门的栈和队列,是[数组]模拟的 栈:一端封闭另一端打开 先进入的在最下面何时使用:永远使用最后进入数组的元素的时候,栈结构 队列:是一种遵从先进先出(FIFO)原则的 ...

  5. [UE4]Grabbable接口

    首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分.或者说,它是面向对象编程体系中的思想精髓之一. 接口是一组规则 ...

  6. Broadcom BCM94352z/DW1560驱动新姿势

    转自:https://blog.daliansky.net/Broadcom-BCM94352z-DW1560-drive-new-posture.html Broadcom WiFi/BlueToo ...

  7. MySQL MGR+ Consul之数据库高可用方案

    背景说明:     基于目前存在很多MySQL数据库单点故障,传统的MHA,PXC等方案用VIP或者DNS切换的方式可以实现.基于数据库的数据强一致性考虑,采用MGR集群,采用consul服务注册发现 ...

  8. 【docker】服务随容器启动而自启动

    场景: 有一个docker, 在该docker中有服务A,希望每次启动容器时服务A都随着容器启动.这样就不用每次都进入容器手动启动服务了. 方法: 1.需要在docker中添加一个启动服务脚本auto ...

  9. php变量函数

    这个东西相当于C语言中的函数指针,C#里的委托   function come() {                   //定义com函数 echo "来了<p>" ...

  10. Python绘图的颜色设置

    (转载):Python中的matplotlib函数中的颜色选取 转载链接:https://www.cnblogs.com/darkknightzh/p/6117528.html 原文内容:完全出自于自 ...