Redis
文章平均质量分 61
黙谷
这个作者很懒,什么都没留下…
展开
-
Redis分片集群
主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:海量数据存储问题 高并发写的问题使用分片集群可以解决上述问题,分片集群特征:集群中有多个master,每个master保存不同数据 每个master都可以有多个slave节点 master之间通过ping监测彼此健康状态 客户端请求可以访问集群任意节点,最终都会被转发到正确节点散列插槽Redis会把每一个master节点映射到0~16383共16384个插槽(hash slot)上,查看集群信息时就能看到。数.原创 2022-04-06 15:48:05 · 1379 阅读 · 0 评论 -
Redis哨兵机制
哨兵的作用Redis提供了哨兵(sentinel)机制来实现主从集群的自动故障恢复。监控:sentinel会不断检查您的master和slave是否按预期工作。 自动故障恢复:如果master故障,sentinel会将一个slave提升为master。当故障实例恢复后也以新的master为主。 通知:sentinel充当Redis客户端的服务发现来源,当集群发生故障转移时,会将最新信息推送给Redis的客户端。服务状态监控主观下线: 如果某sentinel节点发现某实例未在规定时间响应,则原创 2022-04-03 19:33:44 · 929 阅读 · 0 评论 -
Redis主从集群
命令:slave <masterip> <masterport>主从第一次同步是全量同步,slave重启后同步,则执行增量同步。全量同步: master将完整内存数据生成RDB,发送RDB到slave,后续命令则记录在repl_baklog,逐个发送给slave。增量同步:slave提交自己的offset到master,master获取repl_baklog中从offset之后的命令给slave。注意:repl_baklog大小有上限,写满后会覆盖最早的数据。如果原创 2022-04-03 19:00:41 · 969 阅读 · 0 评论 -
Redis持久化
RDB持久化RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。命令:save:由Redis主进程来执行RDB,会阻塞所有命令。 bgsave:开启子进程执行RDB,避免主进程收到影响。Redis停机会执行一次RDBRDB原理1. bgsave开始时会fork原创 2022-04-03 17:27:24 · 704 阅读 · 0 评论 -
Redis消息队列
Redis提供了三种不同的方式来实现消息队列:list结构:基于List结构模拟消息队列 PubSub:基本的点对点消息模型 Stream:比较完善的消息队列模型1. 基于List结构模拟消息队列LPUSH 结合 RPOP、或者 RPUSH 结合 LPOP来实现。不过要注意的是,当队列中没有消息时RPOP或LPOP操作会返回null,并不像JVM的阻塞队列那样会阻塞并等待消息。因此这里应该使用BRPOP或者BLPOP来实现阻塞效果。优点:利用Redis存储,不受限于JVM内存.原创 2022-03-22 14:43:27 · 8482 阅读 · 0 评论 -
Redis缓存问题
缓存更新策略1. 低一致性需求:使用Redis自带的内存淘汰机制。2. 高一致性需求:主动更新,并以超时剔除作为兜底方案。(1)读操作:①缓存命中则直接返回。② 缓存未命中则查询数据库,并写入缓存,设定超时时间。(2) 写操作:① 先写数据库,然后再删除缓存。...原创 2022-03-20 23:21:07 · 558 阅读 · 0 评论