1 Star 0 Fork 0

cm / 学习心得

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
redis学习.txt 1.96 KB
一键复制 编辑 原始数据 按行查看 历史
cm 提交于 2022-01-06 10:05 . redis学习
redis:持久化、复制(主从架构)、哨兵(高可用、主备切换)、redis cluster(海量数据+横向扩容+高可用/主备切换)
持久化:高可用的一部分,在发生redis集群灾难的情况下(比如说master+slave全部死掉了),如何快速进行数据恢复,快速实现服务可用,才能实现整个系统的高可用
复制:主从架构,master -> slave复制,读写分离的架构,写master,读slave,横向扩容slave支持更高的独吞吐,读高并发,10万,20万,30万,上百万QPS,横向扩容
哨兵:高可用,主从架构,在master故障的时候,快速将slave切换成master,实现快速的灾难恢复,实现高可用性
redis cluster:多master读写,数据分布式的存储,横向扩容,水平扩容,快速支撑高达的数据量+更高的读写QPS,自动进行master ->slave的主备切换,高可用
让底层的缓存系统,redis,实现能够任意水平扩容,支持海量数据(1T+,几十T,10G*600redis = 6T),支撑很高的读写QPS,高可用性(每个redis都做好AOF+RDB的备份策略+容灾策略,slave->master主备切换)
1T+海量数据
1、redis的第一套企业级的架构
redis持久化+备份方案+容灾方案+replication(主从+读写分离)+sentinal(哨兵模式|3个节点|高可用)
2.redis的第二套企业级的架构
redis cluster,多master分布式存储数据,水平扩容支持更多的数据量
1.解决数据库和缓存双写数据不一致问题
原因:同时写入数据库和更新redis,如果更新reids就是先删除,然后获取不到数据就从数据库钟获取,如果删除失败,那么redis的数据没有更新,这个时候就和数据库里面的数据不一致了
解决:先删除缓存,在修改数据库
另一种解决方案:数据库和redis异步,先计算hash值,然后放入对应的队列中,然后路由,通过读取内存队列ArrayBlockQueue(100),queue.add();
Java
1
https://gitee.com/cmTODO/learning-experience.git
git@gitee.com:cmTODO/learning-experience.git
cmTODO
learning-experience
学习心得
master

搜索帮助