Redis
文章平均质量分 75
z.jiaminf
程序猿一枚
展开
-
什么是Redis的数据分片?
当我们的存取的 Key 的时候,Redis 会根据 CRC16 算法得出一个结果,然后把结果对16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,通过这个值,去找到对应的插槽所对应的节点,然后直接自动跳转到这个对应的节点上进行存取操作。Redis Cluster将整个数据集划分为16384个槽,每个都有一个编号(0~16383),集群的每个节点可以负责多个hash槽,客户端访问数据时,先根据key计算出对应的槽编号,然后根据槽编号找到负责该槽的节点,向该节点发送请求。原创 2024-03-11 17:22:21 · 1233 阅读 · 0 评论 -
Redis的集群模式
它会从所有健康的从节点中选举一个新的主节点,并将所有从节点切换到新的主节点,实现自动故障转移。哨兵节点定期向所有主节点和从节点发送PING命令,如果在指定的时间内未收到PONG响应,哨兵节点会将该节点标记为主观下线。当一个节点失去连接或不可达时,RedisCluster会尝试将该节点标记为不可用,并从可用的从节点中提升一个新的主节点。在原来的主从架构中,引入哨兵节点,其作用是监控Redis主节点和从节点的状态每个Redis实例都可以作为哨兵节点,通常需要部署多个哨兵节点,以确保故障转移的可靠性。原创 2024-03-08 16:27:15 · 986 阅读 · 0 评论 -
Redis是AP的还是CP的?
然而,WAIT仅能确保数据在Redis实例中有指定数据和副本中确认,它并不能将一组redis实例转变为具有强一致性的cp系统:在故障转移期间,已确认的写操作仍然可能会丢失,这取决于redis持久化的具体配置。但是我不这么认为,我觉得redis就是ap的,虽然在单机redis中,因为只有一个实例,他的一致性是有保障的,而一旦这个节点挂了,那么就没有可用性可言了。,就是说在某个时间点读取的数据可能并不是最新的,但是最终会达到一致的状态。有人说:单机的是redis是cp的,而集群的redis是ap的?原创 2024-02-29 19:04:17 · 893 阅读 · 0 评论