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

NOsql数据库Redis

关系型数据库和 NoSQL 数据库

Redis的源码安装

编译

vim /etc/redis/6379.conf

bind改成* -::* 

关闭protected模式

Redis 主从复制

主从同步过程

环境配置

redis-node1 master

redis-node2 slave1

redis-node3 slave2

slave中配置

vim /etc/redis/6379.conf

master中操作

slave中查看master的操作

Redis的哨兵(高可用)

三台开启哨兵模式,这里可知10为master

将10手动shutdown

20 30开始投票,认为10已经挂掉,并且选举30为新的master

远程连接30主机,看到只有一台slave

在10开启redis

此时看到30的slave数量为2

恢复10为master

在整个架构中可能会出现的问题

Redis Cluster(无中心化设计)

Redis Cluster 工作原理

在哨兵sentinel机制中,可以解决redis高可用问题,即当master故障后可以自动将slave提升为master, 从而可以保证redis服务的正常使用,但是无法解决redis单机写入的瓶颈问题,即单机redis写入性能受 限于单机的内存大小、并发数量、网卡速率等因素。

redis 3.0版本之后推出了无中心架构的redis cluster机制,在无中心的redis集群当中,其每个节点保存 当前节点数据和整个集群状态,每个节点都和其他所有节点连接

这里我们采用三主(10 20 30)三从(110 120 130)

首先我们需要保证一个纯净的实验环境,下载redis

用123456进行验证 这里还不能创建用户

将已经node1已经编辑好的文件拷贝到其他主机

多台主机一起操作,查看6379端口已经开启

创建redis-cluster

设定主备,并分配哈希槽

这里看id可知

10(master)对应120(slave)

20(master)对应130(slave)

30(master)对应110(slave)

这个是随机分配的

检测redis集群状态

此时我们想创建用户,系统告诉我们哈希槽落在20主机上

那么我们来20主机上创建用户

集群扩容

这里我们做4主4从,添加40和140主机

将node2编辑好的文件复制到40和140主机

redis-cli -a 123456 --cluster add-node 172.25.254.40:6379 172.25.254.20:6379

将40主机加入到20所在的哈希槽中

check时看到40已经已经加入组,虽然是master但是(0 slots),说明不能存储数据,所以我们需要划分哈希槽位

这里我们将所有主机划分4096个槽位

此时我们看到40已经拥有自己的槽位

我们再将140作为备加入组

check看到140已经加入,且与40互为主备

clsuter集群维护(集群删除)

这里140我们直接用 redis-cli -a 123456 --cluster del-node 172.25.254.140:6379 加id即可删除

但是40有槽位,所以我们需要先划分槽位再删除

node1为40的id,这里我们直接将40的槽位都给20

看到40没有槽位,20槽位翻倍,我们再删除40

记录一下我们八台虚拟机同时开


http://www.mrgr.cn/news/11565.html

相关文章:

  • 深度学习入门-04
  • qt creator自动运行单元测试
  • 计算机网络 TCPUDP、IP、ARPRARP、NAT总结
  • 国产游戏技术能否引领全球?
  • Tailor:免费开源 AI 视频神器,创作者必备利器
  • ELK企业级日志分析系统(分布式文件系统与企业级应用)
  • springCloud 网关(gateway)配置跨域访问
  • Element-UI自学实践(二)
  • DS | 并查集 Disjoint Set Union
  • 三维尺寸公差分析软件哪个最好用?推荐上海棣拓自研软件DTAS
  • Mysql重要参数
  • Alpaca 汉化版 v2.9.3 — 免费 PS 智能 AI 插件
  • 代码随想录算法训练营第三十五天 | 416. 分割等和子集
  • 代码随想录训练营day49|单调栈part2
  • Python——类和对象、继承和组合
  • 数据结构——链式二叉树的实现与分治编程思维(c语言实现)
  • C语言指针详解(2)
  • 操作系统读写锁
  • 4820道西医综合真题西医真题ACCESS\EXCEL数据库
  • 计算机毕业设计选题推荐-地震数据分析与预测-Python爬虫可视化