今天项目,老大让我写个缓存机制,又不让用Spring自带的,于是乎我就自己疯狂的找了一下,先说下缓存的原理把
缓存:咱们就大白话把,缓存存在的意义是时间换空间,用内存来换取时间的速度,加快查找,等速度,
如果往深了说,就会涉及到高速缓存区,CPU缓存等等,这个有兴趣的人可以去学习一下,我就给大家放一张我认为符合的图把
这个呢,是CPU和内存之间,其实内存缓存和数据库交互也是这样的道理,就是一个查找呗,内存查不到在去数据库,为什么使用缓存呢,减少IO是一点,增大吞吐量是一点,如果数据一直都会变化,那么存入到缓存就没啥意思了,想一想也知道,频繁的写啊,又要写数据库中,又要更改缓存,多麻烦,所以肯定不能频繁变化,当然,内存也不能一直占着啊,得时不时的变一变对不对,所以啊缓存失效就来了设置一个时间,举个例子,以前我做的一个验证码发送,就是用的Redis做的缓存,Redis中就有缓存失效的时间对不对。当然了还有缓存击穿,缓存雪崩,等等,一系列的东西,