为什么使用缓存
缓存(也成为cache)的作用是为了减去数据库的压力,提高数据库的性能,缓存实现的原理是从数据库中查询处理的对象再使用完后不要销毁,而是储存在内存(缓存)中,当再次需要获取该对象的时,...直接从内存(缓存)中直接获取,不在向数据库执行select语句,从而减少了对数据库的查询次数,因此提高了数据库的性能,缓存是使用Map集合缓存数据的
缓存: 将数据临时存储(本地硬盘,内存),这样就减少了对数据库的访问...可读写的缓存会通过序列化返回缓存对象的拷贝,这种方式会慢一些,但很安全,因此默认为false
?
?...缓存击穿
缓存击穿是指缓存中没有但是数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没有读到的数据,又同时去数据库取数据,引起数据库压力瞬间增大,造成过大压力
缓存被“击穿”的问题...1)缓存中有数据,直接走上述代码13行后就返回结果了
2)缓存中没有数据,第1个进入的线程,获取锁并从数据库去取数据,没释放锁之前,其他并行进入的线程会等待100ms,再重新去缓存取数据。