一站式学习Redis 从入门到高可用分布式实践(慕课)第十章 缓存设计与优化

课程目录

缓存的使用与设计

  • 缓存的受益与成本

         受益:1.加速读写:通过缓存加速读写速度:CPU L1/L2/L3Cache、Linux page Cache加速硬盘读写、浏览器缓存、Ehcache缓存数据库结果

                    2.降低后端负载:后端服务器通过前端缓存降低负载:业务端使用Redis降低后端MySQL负载等

         成本:1.数据不一致 :缓存层和数据层有时间窗口不一致,和更新策略有关

                    2.代码维护成本:多了一层缓存逻辑

                    3.运维成本:例如Redis Cluster

           使用场景

          1.降低后端负载:对高消耗的SQL:join结果集/分组统计结果缓存

           2.加速请求响应:利用Redis/Memcache优化IO响应时间

           3.大量写合并为批量写:如计数器先Redis累加再批量写DB

  • 缓存更新策略

           1.LRU/LFU/FIFO算法剔除:例如maxmemory-policy

           2.超时剔除:例如expire

           3.主动更新:开发控制生命周期

  • 缓存粒度控制

           三个角度

                 1.通用性:全量属性更好。

                 2.占用空间:部分属性更好。

                 3.代码维护:表面上全量属性更好。

  • 缓存穿透优化----大量请求不命中

                     原因:  1.业务代码自身问题

                                  2.恶意共计、爬虫等等

                 如何发现:1.业务的响应时间(可预计的)

                                    2.业务本身问题

                                    3.相关指标:总调用数、缓存层 命中数、存储层命中数

                    解决方法:

                                    1.缓存空对象

                                    2.布隆过滤器拦截

  • 无底洞问题优化

                        加机器性能没有提升,反而下降

 

  • 缓存雪崩优化
  • 热点key重建优化

 

互斥锁 :减少了重建缓存次数,增加了等待

永不过期:可能数据不一致

 

转载于:https://www.cnblogs.com/jiang910/p/10036759.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值