0x01缓存基本概念一览

2018-09-18  本文已影响22人  夏大王2019

tags: redis,ehcahe,jcache,memcache

缓存机制的引入可以提高系统的访问效率。

它的主要实现思想是:在程序和数据源之间引入一个中间层即Cache,访问cache的时间成本肯定远低于数据源。

按照Cache所在可以简单分为进程外缓存和本地缓存。

对于单机推荐使用 ehcahe

对于分布式 推荐使用 redis 和   MemCached;

  1. SpringBoot支持很多种缓存方式:redis、guava、ehcahe、jcache等等。
  2. Redis && memcache 缓存中间件:属于独立的运行程序 可以单机部署,也可以分布式部署;
  3. ehcache: 是程序的一个功能模块。 缓存的访问速度快,但不太适合分布式部署。
  4. 读写速度,不考虑并发问题,本地缓存是最快的

缓存预热

在缓存初始化时,缓存中是没有任何缓存数据的,需先将数据缓存后,缓存服务才算完全启动。预热方式:

缓存穿透的问题

问题:

原因:代码问题, 爬虫,攻击,大量空命中

场景:查询某个文章,给了一个错误的文章id。一直查询不到。

方法:

缓存空对象

可以缓存到本地内存中,空对想用一个静态变量。这样不会造成 造成占用内存。

参考链接

  1. ehcache、memcache、redis三大缓存比较
  2. MemCached vs Redis 对象缓存的比较
  3. 总结:如何使用redis缓存加索引处理数据库百万级并发
  4. 学习笔记:cache 和spring cache 技术---本地缓存-分布式缓存,缓存穿透,雪崩,和热点key的问题
上一篇下一篇

猜你喜欢

热点阅读