当前位置: 首页 > news >正文

redis数据库与主从复制

目录

一 基本操作

二 执行流程

三 reids持久化

四 rdb和aof持久化的过程

五 为什么会有内存碎片

六 redis组从复制


一 基本操作

set :存放数据 例如 set 键值 内容   set k kokoko  k就是键值 kokoko就是内容
get:获取数据  例如 get k  就会出来 k对应的数据
keys 查询键值对 keys * 就是查询所有的键值 
exists 查询键值是否存在   exists k 键值存在就返回1
del 键值 删除指定的键值对
type 键值 查询键值对应的数据类型 strings字符串 lists列表 hashes哈希值 sets有序等
rename 原键值 目标键值 原键值替换目标键值内容也进行替换
renamenx 键值 新键值  对键值进行改名 
dbsize 查看数据库中的键值数目
config set requirepass 密码  给数据库设密码  auth 密码  登陆数据库
config get requirepass 查看密码  只有登陆上去才会显示
select 序号 切换库
move 键值 库号   把 键值移动到库号中
flushdb 清空当前数据库flushall 清空全部数据库

二 执行流程

1.redis父进程首先判断是否执行save,bgsave,bgrewriteaof的子进程,如果执行会返回命令
2.父进程执行fork操作子进程,这个过程中父进程是阻塞的,redis不能执行客户端的任何命令
3.父进程执行fork后,生成进程备份后不在阻塞父进程,客户端可以响应其他命令
4.子进程创建rdb文件,根据父进程内存生成临时快照文件,完成后对源文件进行替换
5.子进程完成备份,向父进程发送信号表示完成,父进程更新统计信息

三 reids持久化

1.rdb和aof的基本理解
rdb周期性的把内存中的数据保存在磁盘中
aof 从redis的操作日志记录中将执行的过程同步到磁盘中

四 rdb和aof持久化的过程

rdb1
从内存中写入磁盘中保存
写入磁盘中会进行压缩来减少.rdb占磁盘的大小
aof
在内存中append追加到缓冲区 来调用cpu资源写在磁盘中操作日志的执行语句追加到缓冲区 掉用cpu写入磁盘
会周期性的进行重写
 rdb和aof的触发方式
rdb 手动触发
自动触发save m n
特殊触发  stop关闭会触发 shutdown不会触发 kill不会触发
aof
手动触发
自动触发 每条进行触发  每秒进行触发  不触发rdb优先级        如果开启aof会先aof 没有开启就是rdb

五 为什么会有内存碎片

1.储存数据时系统申请的空间比实际需求大一点
2.频繁更改数据

六 redis组从复制

要装主从复制需要三台机器一主两备

 

主master的设置

 从的设置

 

 另外一个也是一样的设置

在主master上验证从节点

redis-cli info replication

 

http://www.lryc.cn/news/97949.html

相关文章:

  • js加载和长任务
  • 利用Stable diffusion Ai 制作艺术二维码超详细参数和教程
  • 【C语言课程设计】图书管理系统
  • 在 ArcGIS Pro 中使用 H3 创建蜂窝六边形
  • 创建Electron项目
  • Spring Boot实践一
  • 简单认识NoSQL的Redis配置与优化
  • 开发一个RISC-V上的操作系统(二)—— 系统引导程序(Bootloader)
  • Git安装与学习
  • 【Docker】docker中容器之间通信方式
  • 算法-归并排序-JAVA
  • Flask 进阶
  • home-assistant整合sso
  • Ip-Limit: 轻量级注解式IP限流组件(二)
  • 【C++】开源:Redis数据库配置与使用
  • TCP/IP网络编程 第二十四章:制作HTTP服务器端
  • React 前端应用中快速实践 OpenTelemetry 云原生可观测性(SigNoz/K8S)
  • Linux 多线程并发Socket服务端的实现( 11 ) -【Linux通信架构系列 】
  • 2.7. Java 泛型了解么?什么是类型擦除?介绍一下常用的通配符?
  • 单例模式与构造器模式
  • SQL力扣练习(七)
  • C语言假期作业 DAY 05
  • php-golang-rpc使用roadrunner-server/goridge/v3/pkg/rpc和php的spiral/goridge3.2实践
  • API常用签名验证方法(PHP实现)
  • kotlin高阶函数
  • kotlin list集合树
  • 基于Autoencoder自编码的64QAM星座图整形调制解调通信系统性能matlab仿真
  • 【Spring】Spring 总览
  • 微软、OpenAI用上“数据永动机” 合成数据是晨曦还是暮光?
  • 简单认识Redis 数据库的高可用