可以发描文本的网站,深圳有做网站最近价格,wordpress面包屑导航插件,wordpress获取文章地址1. 认识Redis Redis是一个基于内存运行的缓存中间件#xff0c;有着多种的数据类型可供使用。Redis的使用主要是为关系性数据库#xff08;MySQL等#xff09;分担压力#xff0c;在高并发环境下MySQL执行命令的压力是很大的#xff0c;容易宕机#xff0c;所以需要中间件… 1. 认识Redis Redis是一个基于内存运行的缓存中间件有着多种的数据类型可供使用。Redis的使用主要是为关系性数据库MySQL等分担压力在高并发环境下MySQL执行命令的压力是很大的容易宕机所以需要中间件分担压力
2. Redis的数据类型
数据类型特性实际使用String 二进制安全可以存放所有类型的数据 最大内存512M 存在INCR、DECR方法 用作热数据缓存 做访问量、点赞数的加减 list双向链表日志记录文章推送set 无序去重 有spop方法随机弹出一个 集合运算 抽奖功能 朋友圈点赞可能相识的人 zset存在分数排名的set热点排名榜单bitmap 一个8bit位为一组的数据 0-78-1516-2324-31 可记录打卡签到 HyperLogLog 基数统计 计算两个数据的基数 统计去重访问量 GEO 地理位置计算位置相关的数据hash类似map的数据结构 Stream 消息流 bitfield 二进制操作
3. 持久化
RDB快照保存设定一定的时间和操作次数自动保存 save 90 10 90秒内存在10次操作保存一次快照 AOF 操作记录全部记录偏移量同步
4. 事务、管道 Redis也存在事务事务开启存在两种情况一种是语法错误后直接放弃这次操作第二种是运行中数值发生错误其他操作正常生效错误的操作不生效 Redis管道一次性将多条命令进行执行
5. Redis单机、主从、集群安装部署
5.1. 单机版命令 redis安装步骤
# 查看gcc版本
gcc -v# 解压安装包
tar -zxvf redis-7.0.15.tar.gz# 安装redis需要进入redis目录下
make make install# 启动redis
redis-server redis.conf# 登录客户端
redis-cli -a duomu -p 6379 redis配置文件
# redis.conf配置
# 对外访问
bind 0.0.0.0
# 守护进程
daemonize yes
# 保护模式
protected-mode no
# 端口
port 6379
# 进程文件
pidfile /var/run/redis_server.pid
# log日志
logfile ./redis_server.log
# 目录文件
dir ./
# RBD文件
dbfilename dump.rdb
# 保存设置
save 60 10
# AOF记录操作
appendonly yes
# AOF文件
appendfilename appendonly.aof
# 登录密码
requirepass duomu
# 从机认证密码
masterauth duomu
5.2. 主从哨兵 redis主从架构一般需要哨兵监听如果主机宕机了哨兵会通过投票选出哨兵的leader然后leader会在从机中选出一个升级为主机。如果主机重启了那么它会降级为从机 主机配置
# 主机配置
# redis.conf配置
# 对外访问
bind 0.0.0.0
# 守护进程
daemonize yes
# 保护模式
protected-mode no
# 端口
port 6379
# 进程文件
pidfile /var/run/redis_server.pid
# log日志
logfile ./redis_server.log
# 目录文件
dir ./
# RBD文件
dbfilename dump.rdb
# 保存设置
save 60 10
# AOF记录操作
appendonly yes
# AOF文件
appendfilename appendonly.aof
# 登录密码
requirepass duomu 从机配置
# 从机配置
# redis.conf配置
# 对外访问
bind 0.0.0.0
# 守护进程
daemonize yes
# 保护模式
protected-mode no
# 端口
port 6379
# 进程文件
pidfile /var/run/redis_server.pid
# log日志
logfile ./redis_server.log
# 目录文件
dir ./
# RBD文件
dbfilename dump.rdb
# 保存设置
save 60 10
# AOF记录操作
appendonly yes
# AOF文件
appendfilename appendonly.aof
# 登录密码
requirepass duomu
# 配置主从
replicaof 主ip 端口
# 主机认证密码
masterauth duomu 哨兵配置
# 哨兵配置
bind 0.0.0.0
protected-mode no
port 26379
daemonize yes
pidfile /var/run/redis-sentinel.pid
logfile ./sentinel.log
# 哨兵监听主机 2为投票数 一般为 监听器总数/21
sentinel monitor mymaster 主机ip 端口 2
# 主机秘钥
sentinel auth-pass mymaster duomu
5.3. 集群安装 集群使用了CRC16的算法进行哈希槽的分配哈希槽分区CRC16 mod 16384
最高分区为1000个16384为槽数2^14 如果主机宕机从机会升级为主机主机重启后会降级为从机 如果想保持原来配置需要通过命令进行调换节点从属调整 cluster failover redis安装6台服务
# redis安装6台服务
bind 0.0.0.0
daemonize yes
protected-mode no
port 6381
pidfile /var/run/redis_cluster.pid
logfile ./cluster.log
dir ./cluster
dbfilename dump.rdb
appendonly yes
appendfilename appendonly.aof
requirepass duomu
masterauth duomu# 集群开启
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000 上面配置启动redis服务后将所有服务器加入集群构建三主三从
# 后面为真实的redis ip和端口
redis-cli -a duomu --cluster create --cluster-replicas 1 192.168.56.110:6381 192.168.56.110:6382 192.168.56.111:6381 192.168.56.111:6382 192.168.56.112:6381 192.168.56.112:6382# 登录redis查询 节点
redis-cli -a duomu
cluster nodes# 查看redis集群
redis-cli -a duomu --cluster check 任一个ip:端口# 新增master节点
redis-cli --cluster add-node new-node-ip:port existing-node-ip:port# master节点需要重新分配哈希槽
redis-cli -a duomu --cluster reshard new-node-ip:port# 新增slave节点
redis-cli --cluster add-node new-node-ip:port existing-node-ip:port --cluster-slave# 只能删除从机如果要删除master需要将哈希槽转移
redis-cli -a duomu --cluster del-node del-node-ip:port id
5.4. docker部署集群 后续补上
6. 附录
安装包和配置https://pan.baidu.com/s/1PeACXeaqQy9tPE89mw0wGQ?pwdjj9e
学习来源https://www.bilibili.com/video/BV13R4y1v7sP