摘要:
一、数据分布 1.数据分布理论 2.Redis数据分区 Redis Cluser采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽内,计算公式:slot=CRC16(key)&16383。每一个节点负责维护一部分槽以及槽所映射的键值数据 Redis虚拟槽分区的特点: 解耦数据和节点之间的 阅读全文
posted @ 2018-06-04 22:28
BigJunOba
阅读(4485)
评论(0)
推荐(0)
摘要:
Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工将从节点晋升为主节点,同时还要通知应用方更新主节点地址,对于很多应用场景这种故障处理的方式是无法接受的。 Redis从2.8开始正式提供了Redis Sentinel(哨兵)架构来解决这个问题。 一、基本概念 1.主从复制的问题 ( 阅读全文
posted @ 2018-06-04 22:22
BigJunOba
阅读(640)
评论(0)
推荐(0)
摘要:
Redis所有的数据都存在内存中,当前内存虽然越来越便宜,但跟廉价的硬盘相比成本还是比较昂贵,因此如何高效利用Redis内存变得非常重要。 高效利用Redis内存首先需要理解Redis内存消耗在哪里,如何管理内存,最后才能考虑如何优化内存。 一、内存消耗 有些内存消耗是必不可少的,而有些可以通过参数 阅读全文
posted @ 2018-06-04 22:19
BigJunOba
阅读(1402)
评论(0)
推荐(2)
摘要:
为什么说阻塞是Redis的噩梦: Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的。当Redis用于高并发场景时,这条线程就变成了它的生命线。如果出现阻塞,哪怕是很短时间,对于应用来说都是噩梦。 导致阻塞问题的原因: 内在原因:不合理地使用API或数据结构、CPU饱和、持久化阻塞 阅读全文
posted @ 2018-06-04 22:16
BigJunOba
阅读(3160)
评论(0)
推荐(1)
摘要:
在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本。复制功能是高可用Redis的基础,哨兵和集群都是在复制的基础上实现高可用的。复制也是Redis日常运维的常见维护点。 阅读全文
posted @ 2018-06-04 22:15
BigJunOba
阅读(350)
评论(0)
推荐(0)
摘要:
一、RDB RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。 1.触发机制 (1)手动触发:save命令和bgsave命令 save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用。 b 阅读全文
posted @ 2018-06-04 22:12
BigJunOba
阅读(273)
评论(0)
推荐(0)