所谓的大并发,是指QPS,大于1000,日活跃用户量在千万级别的业务系统。
缓存就是其中的重中之重,没有缓存,分分钟数据库无法抗住系统压力,直接挂了,从而影响别的业务响应。
1、把这个API接口的所有数据库请求结果都缓存起来,当然缓存需要设计过期时间,在缓存存在的情况下,数据库的请求就大大减少,只有当过期的时候才会去请求一遍数据库,采用异步缓存,缓存结果是定期更新的,不会出现在过期临界点上的响应波动。
1、内存缓存,实际上就是一个map,封装过后可以设置有效期,首先尝试从cache中获取数据,如果获取的数据为空,则从数据库中查询结果,并放到缓存中去。这种策略非常简单,也非常有效。这种容易去出现的问题就是,缓存刚好过期时的并发请求都会集中请求数据库,这段时间API的响应会发生波动。
2、可以采用更复杂的多层次的缓存,如Redis缓存,本地缓存,文件缓存相结合的缓存策略。如每次接口返回的数据