写点什么

分布式缓存 - 第五周总结

用户头像
孙志平
关注
发布于: 2020 年 07 月 08 日

1、什么是缓存

缓存是介于数据访问者和数据源之间的一种高速存储,当数据用于多次读取的时候,用于加速读取的速度



2、常用缓存

CDN 缓存

反向代理缓存

前端缓存

应用程序缓存

分布式对象缓存



3、常用的分布式缓存算法

hash 取模

一致性hash



4、缓存命中率

影响缓存命中率的因素一帮有两种,一种是要查询的缓存key值不存在,二种是要查询的key值已失效,不管是哪种都有可能产生大量的读请求与后端数据库,导致数据库压力过大而不能及时响应,整个系统瘫痪。所以要避免缓存失效、击穿对后所以请求到达数据库中,简单的做法是,再请求数据库前加一个分布式事务所,保证请求同一数据资源只有一个请求能向后端数据库请求数据,这样就减轻数据库压力,遇到本身请求数据为空也应当存入缓存中,来避免重复请求不存在的数据也要向数据库进行数据请求。



5、mysql复制

mysql复制有:主从复制、主主复制两种

mysql常用的集群架构有:MMM、MHA

这些技术核心用到的是binglog日志

binlog的格式也有三种:STATEMENT、ROW、MIXED

STATEMENT:存储执行的sql语句

ROW:存储每一行的具体数据

MIXED:以上两种都有,比如sql语句中含有'NOW()'这种不确定的结果时则采用STATEMENT格式

binglog不仅能够实现mysql体系下的复制,还能解析binglog同步至其他数据库中,比如Elasticsearch,用于搜索引擎的构建。



用户头像

孙志平

关注

还未添加个人签名 2018.05.08 加入

还未添加个人简介

评论

发布
暂无评论
分布式缓存 - 第五周总结