docker-compose一键部署redis集群(附redis进阶知识)

docker-compose一键部署redis集群(附redis进阶知识)
最新回答
指环情欲

2022-09-24 20:34:56

创建安装目录

分别编写conf文件,为每个节点创建6380/conf、6381/conf、6382/conf

1)编写6380 redis.conf

2)编写6381 redis.conf

3)编写6382 redis.conf

编写docker-compose.yml文件,定义容器和网络设置

完整目录结构包括安装目录、配置文件目录、docker-compose.yml文件等

构建redis集群,使用docker-compose.yml部署多个redis容器

验证集群是否部署成功,检查集群状态和节点间通信

redis进阶知识集合,深入理解集群管理、性能调优等

一、发布订阅

场景一:实时性,直播间中会话,进入直播间后才接收新消息

场景二:历史性,微信聊天记录,历史消息从数据库中查询

使用zset存储历史消息时间分值,实时消息通过发布订阅系统实时更新

二、事务

watch监听key操作,mutli开启事务模式,防止并发操作冲突

redis单进程管理,watch监听先执行,事务命令按组执行

三、布隆过滤器

防止数据穿透,新增标记key,查询不存在时避免再次穿透数据库

使用bitmap映射商品,计算位置标记,查询时确认标记是否匹配

四、缓存与数据库

缓存非全量数据,热数据实时更新,设置过期时间避免数据过期

查询key时不会延长过期时间,重新set时剔除过期时间设定

五、管道

命令串联,一次性处理一组操作,返回多个结果

六、RDB持久化

时点性数据备份,子进程创建快照文件,父进程继续服务

save阻塞服务进行快照,bgsave后台创建快照

七、AOF持久化

追加写操作记录,与RDB结合,减少数据丢失风险

优点:数据恢复速度快,缺点:文件体积大、恢复慢

八、AKF原理

解决单点故障、容量限制,x轴多备份、y轴模块分层、z轴按id分区

九、redis主从复制

弱一致性,异步复制,提供高可用性

启动slave,全量复制后增量同步,实现数据同步

十、哨兵

监控master状态,故障时自动选举新的master

哨兵之间发布订阅,共同维护集群状态

十一、redis击穿

高并发请求穿透缓存,直接访问数据库

解决方案:get失败后setnx操作,成功去数据库,失败则睡眠

十二、穿透

业务查询不存在数据,使用布隆过滤器避免穿透

十三、雪崩

大量key失效导致数据库压力增大

业务层加入延时策略,缓解数据库压力

十四、分布式锁

zookeeper或redis实现,强调一致性而非速度

使用setnx+过期时间+守护线程,避免脏数据和资源竞争

zookeeper实现通过抢占、临时节点、watch机制协调锁的释放与通知