Redis主从配置、数据持久化、集群
发布订阅
## subscribe 订阅一个或者多个频道 ## publish 给指定的频道发送消息 ## psubscribe 订阅指定模式的频道,*代表所有 ## pubsub channels 查看当前活跃的频道 ## pubsub numsub channels 查看当前频道的订阅人数 ## redis的配置文件
```SHELL
bind 127.0.0.1 # 监听的地址
protected-mode yes # 将redis运行在安全模式下
port 6379 # 端口
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no # 是否以守护进程开启
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 16
always-show-logo yes
save 900 1 # 在900秒以内有1次更新,就会持久化
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb # 数据的保存文件
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
requirepass foobared # 给redis设置密码
```
auth
密码认证
save
保存
flushall
清空所有的数据
redis的主从
```
只需要在从服务器上进行配置
slaveof ip地址 端口
如果有密码的话
masterauth <password>
命令行设置方式
config set masterauth password
```
- 基于异步的,平均每秒钟从服务器都会主服务器发送复制的情况
- 一个主可以多个从
- 不止主可以有从服务器,从也可以有从服务器
- 复制功能不会阻塞主服务器
- 复制功能也不会阻塞从服务器
redis的持久化
- rdb
- aof
rdb
- 优点
- 生成二进制文件
- 系统会默认的多长时间保存一次
- 直接手动保存
- 制作快照
- 可以用作备份
- 比较适合做灾难恢复
- 主进程会fork一个子进程出来,子进程用来复制保存数据
- 缺点
- 如果说数据需要尽量保存下来,则不适合实用rdb
- 在数据量庞大的时候,对系统消耗过大
```
save 900 1 # 在900秒以内有1次更新,就会持久化
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb # 数据的保存文件
dir ./ # 保存目录
```
aof
- 优点
- 持久化更好
- aof将所有的操作都追加到一个文件中,redis-check-aof
- 文件易读
- 缺点
- 文件会越来越大
- aof的速度会比rdb慢,aof 使用的是fsync
- 文件易读
```
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
```
直接通过命令从rdb切换到aof
```
config set appendonly yes
config set save ""
```
redis的高可用
主观下线:哨兵检测不到服务
客观下线:全部哨兵同一协商
redis cluster
- 16384个槽位
- 最少需要6台服务器
准备配置文件
```
## 6380
bind 127.0.0.1
port 6380
daemonize yes
pidfile 6380.pid
logfile 6380.log
cluster-enabled yes
cluster-config-file node-6380.conf
cluster-node-timeout 10000
## 6381
bind 127.0.0.1
port 6381
daemonize yes
pidfile 6381.pid
logfile 6381.log
cluster-enabled yes
cluster-config-file node-6381.conf
cluster-node-timeout 10000
## 6382
bind 127.0.0.1
port 6382
daemonize yes
pidfile 6382.pid
logfile 6382.log
cluster-enabled yes
cluster-config-file node-6382.conf
cluster-node-timeout 10000
## 6383
bind 127.0.0.1
port 6383
daemonize yes
pidfile 6383.pid
logfile 6383.log
cluster-enabled yes
cluster-config-file node-6383.conf
cluster-node-timeout 10000
## 6384
bind 127.0.0.1
port 6384
daemonize yes
pidfile 6384.pid
logfile 6384.log
cluster-enabled yes
cluster-config-file node-6384.conf
cluster-node-timeout 10000
## 6385
bind 127.0.0.1
port 6385
daemonize yes
pidfile 6385.pid
logfile 6385.log
cluster-enabled yes
cluster-config-file node-6385.conf
cluster-node-timeout 10000
```
环境准备
安装ruby
版本必须是2.2以上
```
wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.4.tar.gz
tar ruby-2.6.4.tar.gz
cd ruby-2.6.4
./configure --prefix=/opt/ruby
make && make install
配置环境变量
PATH=/opt/ruby/bin:$PATH
source
```
安装ruby依赖
```
gem install redis
```
安装命令
```
./src/redis-cli --cluster help
./src/redis-cli --cluster create --cluster-replicas 1 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385
create 创建集群
check 检查集群
info 查看集群信息
fix 修复集群
```
连接命令
```
redis-cli -c -p 6380
```
Redis主从配置、数据持久化、集群的更多相关文章
- 关于redis主从|哨兵|集群模式
		关于redis主从.哨兵.集群的介绍网上很多,这里就不赘述了. 一.主从 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重 ... 
- redis主从|哨兵|集群模式
		关于redis主从.哨兵.集群的介绍网上很多,这里就不赘述了. 一.主从 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重 ... 
- redis主从架构,分片集群详解
		写在前面:这篇笔记有点长,如果你认真看完,收获会不少,如果你只是忘记了相关命令,请翻到末尾. redis的简单介绍: 一个提供多种数据类类型储存,整个系统都在内存中运行的, 定期通过异步的方式把数据刷 ... 
- redis 主从、哨兵、集群
		出处: redis主从复制和哨兵 Redis集群方式共有三种:主从模式,哨兵模式,cluster(集群)模式 一.Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步 ... 
- redis主从同步故障切换及集群配置
		一.redis是一中高性能的缓存数据库, 原理:1. 从服务器向主服务器发送 SYNC 命令.2. 接到 SYNC 命令的主服务器会调用BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下 ... 
- CentO7 安装 redis, 主从配置,Sentinel集群故障转移切换
		一.Redis的安装(前提是已经安装了EPEL) 安装redis: yum -y install redis 启动/停止/重启 Redis 启动服务: systemctl start re ... 
- Redis 主从,哨兵,集群实战
		下载地址及版本说明 Redis 各版本下载地址: http://download.redis.io/releases/ 版本说明:一般来说版本号第二位,偶数是稳定版本,奇数是在开发中的版本 本文基于R ... 
- Redis主从、哨兵、集群
		主从 命名设置:>6380 slaveof 127.0.0.01 6379 slaveof on one----------配置:-- 注意一点: 一定开启rdb,不能使用aof从节点配置:主节 ... 
- mysql主从配置和galera集群
		mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ... 
- redis主从,哨兵,集群
		本次所有操作在docker下进行,搭建方便,迅速构建redis集群. 1. docker安装redis 获取redis:latest(使用官方最新的) 镜像 $ docker pull redis r ... 
随机推荐
- 趣事记录 | 有哪些让你目瞪口呆的 Bug ?
			在知乎上看到一个有趣的 Bug 事件,转载记录一下. 原回答地址:Here 发生于麻省理工的一个有意思的bug:只能发500英里的邮件. 原文在此:http://web.mit.edu/jemorri ... 
- Codeforce:1300B. Assigning to Classes (math)
			解题思路 题目说的意思是,给一个2n个数的数组,注意n为奇数,将这个数组平均分为2份,假设为c1和c2. c1和c2是奇数个元素的数组,比如数组[1,2,3],那么中位数就是2. 那么如何求得中位数差 ... 
- vue-cli 3.x 项目,如何增加对 jsx 的支持?vue-cli 3.x 项目,如何增加对 jsx 的支持?
			https://segmentfault.com/q/1010000019655500 
- P1541-DP【绿】
			刚开始理解错题意了,题中说"玩家每次需要从所有的爬行卡片中选择一张之前没有使用过的爬行卡片"指的是不能用同一张卡片,我给理解成不能连续用同一种卡片了.后来想想其实题目中的说法歧义不 ... 
- Vue之使用elementUI的upload上传组件导入csv文件
			最近干活的时候有个需求,需要将csv文件导入到mysql数据库中,前后端框架用的springboot+Vue,组件用的elementUI,下面将分步骤记录实现过程. 1.导入按钮部分: <el- ... 
- Verilog仿真实践
			Verilog必须掌握 逻辑仿真工具(VCS)和逻辑综合工具(DC) AndOR module AndOr( output X,Y, input A,B,C ); // A B进行按位与运算 assi ... 
- SV 字符串类型
			概述 常见使用方式 string b; string b=""; // 拼接字符串 string a = {"hi",b}; // 将字符串a赋值给[15:0] ... 
- 问题--缺少 cryptography 包
			1.问题 raise RuntimeError( RuntimeError: 'cryptography' package is required for sha256_password or cac ... 
- 【SHELL】查找包含指定字符串的目录、在找出的路径中找出指定格式的文件、并统计出数量
			查找包含字符串"skull"的目录.在找出的路径中找出格式".c/.cpp/.h"的文件.并统计出数量 find . -path ./out -prune -o ... 
- TiDB的搭建与维护过程
			TiDB的搭建与维护过程 背景 总结一下TiDB的搭建以及简单维护过程. 目标: 简单快速的创建TiDB数据库,以及进行备份恢复等工作. TiDB 简介 TiDB(全称:Ti Distributed ... 
