简介
背景
我们现在的项目架构中,基本上是Web服务器(Tomcat)和数据库独立部署,独占服务器资源,随着用户数的增长,并发读写数据库,会加大数据库访问压力,导致性能的下降,严重时直接导致系统宕机,例如:
此时,我们可以在Tomcat同服务器上中增加本地缓存,并在外部增加分布式缓存,缓存热门数据。也就是通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。例如:
基于这样的一种架构设计,于是类似redis的一些分布式数据库就诞生了。
1.java运行基于JVM,JVM的内存主要是用来存储刚创建的对象,数据库中的数据占用了JVM的内存,JVM内存就没有了.
2.本地缓存可以用但是在不同的服务器之间是不互通的,所以缓存要独立多个,本地缓存满了,那么该怎么办呢,此时JVM会启动垃圾回收,缓存里的数据丢了,数据库里还有,就可以使用软引用.
3.softcache软引用:
4.weakcache:弱引用:
5.lr