热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

文件结构_Redis物理文件结构

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Redis物理文件结构相关的知识,希望对你有一定的参考价值。 Redis物理文件

篇首语:本文由编程笔记#小编为大家整理,主要介绍了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

 



推荐阅读
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • Windows 系统下 MySQL 8.0.11 的安装与配置
    本文详细介绍了在 Windows 操作系统中安装和配置 MySQL 8.0.11 的步骤,包括环境准备、安装过程以及后续配置,帮助用户顺利完成数据库的部署。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
author-avatar
mobiledu2502912017
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有