码迷,mamicode.com
首页 > 其他好文 > 详细

项目中使用缓存的目的?(高并发和高性能)

时间:2019-07-04 00:10:26      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:ima   开始   sql   通过   高峰   性能提升   mysq   请求   mamicode   

用缓存,主要有两个用途,一个是高性能,一个是高并发.

1)高性能

 

假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作mysql,半天查出来一个结果,耗时600ms。但是这个结果可能接下来几个小时都不会变了,或者变了也可以不用立即反馈给用户。那么此时咋办?

缓存啊,折腾600ms查出来的结果,扔缓存里,一个key对应一个value,下次再有人查,别走mysql折腾600ms了。直接从缓存里,通过一个key查出来一个value,2ms搞定。性能提升300倍。

这就是所谓的高性能。

就是把你一些复杂操作耗时查出来的结果,如果确定后面不咋变了,然后但是马上还有很多读请求,那么直接结果放缓存,后面直接读缓存就好了。

技术图片

2)高并发

 

mysql这么重的数据库,压根儿设计不是让你玩儿高并发的,虽然也可以玩儿,但是天然支持不好。mysql单机支撑到2000qps也开始容易报警了。

 

所以要是你有个系统,高峰期一秒钟过来的请求有1万,那一个mysql单机绝对会死掉。你这个时候就只能上缓存,把很多数据放缓存,别放mysql。缓存功能简单,说白了就是key-value式操作,单机支撑的并发量轻松一秒几万十几万,支撑高并发so easy。单机承载并发量是mysql单机的几十倍。

技术图片

 

项目中使用缓存的目的?(高并发和高性能)

标签:ima   开始   sql   通过   高峰   性能提升   mysq   请求   mamicode   

原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/11129821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!