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

网站建设公司 成本结转网站营销网站优化

网站建设公司 成本结转,网站营销网站优化,免费的个人简历模板 大学生,网络营销技能大赛优秀作品Redis存储原理 Redis将内存划分为16384个区域(类似hash槽) 将数据的key使用CRC16算法计算出一个值,取余16384 得到的结果是0~16383 将这个key保存在计算结果对应的槽位 再次查询这个key时,直接到这个槽位查找,效率很高 实际上这就是"散列表" 提高查询的效率 R…

Redis存储原理

Redis将内存划分为16384个区域(类似hash槽)

将数据的key使用CRC16算法计算出一个值,取余16384

得到的结果是0~16383

将这个key保存在计算结果对应的槽位

再次查询这个key时,直接到这个槽位查找,效率很高

实际上这就是"散列表"

提高查询的效率

Redis集群

Redis最小状态是一台服务器

这个服务器的运行状态,直接决定Redis是否可用

如果它离线了,整个项目就会无Redis可用

系统会面临崩溃

为了防止这种情况的发生,我们可以准备一台备用机

主从复制

也就是主机(master)工作时,安排一台备用机(slave)实时同步数据,万一主机宕机,我们可以切换到备机运行

缺点,这样的方案,slave节点没有任何实质作用,只要master不宕机它就和没有一样,没有体现价值

读写分离

这样slave在master正常工作时也能分担Master的工作了

但是如果master宕机,实际上主备机的切换,实际上还是需要人工介入的,这还是需要时间的

那么如果想实现故障时自动切换,一定是有配置好的固定策略的

哨兵模式

哨兵节点每隔固定时间向所有节点发送请求

如果正常响应认为该节点正常

如果没有响应,认为该节点出现问题,哨兵能自动切换主备机

如果主机master下线,自动切换到备机运行

但是这样的模式存在问题

但是如果哨兵判断节点状态时发生了误判,那么就会错误将master下线,降低整体运行性能

哨兵集群

我们可以将哨兵节点做成集群,由多个哨兵投票决定是否下线某一个节点

哨兵集群中,每个节点都会定时向master和slave发送ping请求

如果ping请求有2个(集群的半数节点)以上的哨兵节点没有收到正常响应,会认为该节点下线

分片集群

当业务不断扩展,并发不断增高时

只有一个节点支持写操作无法满足整体性能要求时,系统性能就会到达瓶颈s

这时我们就要部署多个支持写操作的节点,进行分片,来提高程序整体性能

分片就是每个节点负责不同的区域

Redis0~16383号槽,

例如

MasterA复制0~5000

MasterB复制5001~10000

MasterC复制10001~16383

一个key根据CRC16算法只能得到固定的结果,一定在指定的服务器上找到数据

有了这个集群结构,我们就能更加稳定和更加高效的处理业务请求了

为了节省哨兵服务器的成本,有些公司在Redis集群中直接添加哨兵功能,既master/slave节点完成数据读写任务的同时也都互相检测它们的健康状态

Redis集群搭建

利用docker搭建

docker run -d --name redis-node-1 --net host --privileged=true -v /mydata/redis/cluster/redis-node-1:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6381
docker run -d --name redis-node-2 --net host --privileged=true -v /mydata/redis/cluster/redis-node-2:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6382
docker run -d --name redis-node-3 --net host --privileged=true -v /mydata/redis/cluster/redis-node-3:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6383
docker run -d --name redis-node-4 --net host --privileged=true -v /mydata/redis/cluster/redis-node-4:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6391
docker run -d --name redis-node-5 --net host --privileged=true -v /mydata/redis/cluster/redis-node-5:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6392
docker run -d --name redis-node-6 --net host --privileged=true -v /mydata/redis/cluster/redis-node-6:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6393

进入redis-6381容器,并为6台机器构建集群关系(ip修改成自己的ip哦)

redis-cli --cluster create 172.26.6.53:6381 172.26.6.53:6382 172.26.6.53:6383 172.26.6.53:6391 172.26.6.53:6392 172.26.6.53:6393 --cluster-replicas 1
#--cluster-replicas 1 表示为每个master创建一个slave节点

查看集群信息

redis-cli -p 6381
cluster info
cluster nodes

上一篇文章:Redis的应用场景-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/Z0412_J0103/article/details/143226131下一篇文章: 

http://www.yayakq.cn/news/306881/

相关文章:

  • wordpress 显示文章数量做seo有什么好处
  • 如何评估一个网站seo的优异程度洛阳信息港洛阳城事
  • 重庆网上商城网站建设公司软件定制开发订单
  • 上海企业建站小程序开发文档pdf
  • 公司网站文章的排版河间市做网站
  • 网站管理系统有哪些做网站必须会php吗
  • 南昌哪里做网站比较好网站开发加维护需要多少钱
  • 做外贸网站如果是东西杂会不会不好推广企业邮箱收费标准
  • 北京网站设计公司兴田德润放心郑州网站排名公司
  • 信阳企业网站建设天津企业网站模板建站哪家好
  • 钢铁网站建设初衷建设部网站下载
  • 网站建设费用计算依据网站内容更新慢原因
  • wordpress不升级能用吗正定seo
  • 腾讯企业网站建设wordpress 移动 主题
  • 网站推广公司电话做公司网站的模板下载
  • 网站建设都需要浏览器网站建设的步骤过程
  • 网站开发属于承揽合同吗线上推广计划
  • google 网站收录广东深圳龙岗区天气
  • 手机做炫光头像图的网站wordpress开发视频网站模板下载地址
  • 学会计算机编程可以做网站吗企业培训课程分类
  • 网站开发 附加协议长沙flash网站设计
  • 临海高端网站设计新感觉建站郑州百度seo关键词
  • 如何做静态页网站宁远县做网站的
  • 做外包装很厉害的网站wordpress设置成宋体
  • 深圳市手机网站建设企业科技有限公司可以做网站建设吗
  • 泉州哪里建设网站怎么做网站的投票平台
  • 仿制手机网站教程什么是域名访问网站
  • wordpress点击下载前端seo优化方案
  • 公司网站开发需要什么证书常德外贸网站优化推广
  • oss做网站迁移推广游戏网站怎么做