码迷,mamicode.com
首页 > 其他好文 > 详细

缓存策略

时间:2020-06-28 22:37:09      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:分布式   extension   一级缓存   数据库   不一致   内存   的区别   结果   存储系统   

缓存策略

缓存的实际用处

接单大厅
物流仓库等

缓存的场景

  • 计算的结果,如:反射对象缓存
  • 请求的结果,如:DNS缓存
  • 临时共享数据,如:会话存储
  • 热点访问内容页:如:商品详情
  • 热点变更逻辑数据,如:秒杀的存储库,排行榜

缓存的策略

  • 越接近最终的输出结果,效果越好
  • 缓存命中率越高越好

缓存的位置

  • 浏览器中
  • 反向代理服务器中
  • 应用进程内存中
  • 分布式存储系统中

缓存实现的要点

  • 缓存Key生成策略,表示缓存数据的范围,业务含义
  • 缓存失效策略,如:过期时间机制,主动刷新机制
  • 缓存更新策略,表示更新缓存数据的时机

出现的问题

  • 缓存失效,导致数据不一致
  • 缓存穿透,查询无数据时2,导致缓存不生效,查询都落到数据库 **建议:强制返回一个默认值,
  • 缓存击穿,缓存失效瞬间,大量请求访问到数据库:比如同一个页面并发量比较大,建议:使用二级缓存策略,当一级缓存失效时,我们允许一个请求去落到数据库上面,更新缓存数据,其他请求依然请求缓存
  • 缓存雪崩,大量缓存同一时间失效,导致数据库压力 建议:在缓存过期策略上面

一般组件

  • ResponseCache
  • Microsoft.Extensions.Caching.Memory.IMemoryCache
  • Microsoft.Extensions.Caching.Distributed.IDistributedCache
  • EasyCaching

内存缓存和分布式缓存的区别

  • 内存缓存可以存储任意的对象
  • 分布式缓存的对象需要支持序列化
  • 分布式缓存远程请求可能失败,内存缓存不会

缓存策略

标签:分布式   extension   一级缓存   数据库   不一致   内存   的区别   结果   存储系统   

原文地址:https://www.cnblogs.com/ccaa/p/13020997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!