项目中缓存如何使用?
结合自己项目的业务来。
为什么使用缓存?
主要有两个用途, 高性能,高并发。
高性能
假设一个操作请求系统,需要查询数据库数据,耗时可能需要600ms,但是接下来的结果可能可能几个小时都不会改变,或者变了也不会立即反馈给用户。
此时就可以使用缓存将结果数据缓存下来,提高查询速度(600ms->2ms)。 性能提升300倍。
高并发
mysql单机支撑到2000QPS就容易报警,请求压力太大,可能造成宕机。所以,如果有一个系统,高峰期一秒钟的并发请求有1w,那么如果直接访问数据库的话,会造成数据库单机直接死掉。此时就可以用上缓存,把很多数据放缓存里,单机的缓存可以支撑的并发量能达一秒十几万,支撑高并发so easy,承载的并发量是mysql单机的几十倍。缓存是走内存的,内存天然就支撑高并发。
用了缓存之后会有什么后果?
- 缓存与数据库双鞋不一致
- 缓存雪崩和缓存穿透
- 缓存并发竞争