在项目中缓存是如何使用的?
项目中缓存是如何使用的?
这个,需要结合自己项目的业务来。
为什么要用缓存?
用缓存,主要有两个用途:高性能、高并发。
高性能
假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作 mysql,半天查出来一个结果,耗时 600ms。但是这个结果可能接下来几个小时都不会变了,或者变了也可以不用立即反馈给用户。那么此时咋办?
缓存啊,折腾 600ms 查出来的结果,扔缓存里,一个 key 对应一个 value,下次再有人查,别走 mysql 折腾 600ms 了,直接从缓存里,通过一个 key 查出来一个 value,2ms 搞定。性能提升 300 倍。
就是说对于一些需要复杂操作耗时查出来的结果,且确定后面不怎么变化,但是有很多读请求,那么直接将查询出来的结果放在缓存中,后面直接读缓存就好。
高并发
mysql 这么重的数据库,压根儿设计不是让你玩儿高并发的,虽然也可以玩儿,但是天然支持不好。mysql 单机支撑到 2000QPS
也开始容易报警了。
所以要是你有个系统,高峰期一秒钟过来的请求有 1万,那一个 mysql 单机绝对会死掉。你这个时候就只能上缓存,把很多数据放缓存,别放 mysql。缓存功能简单,说白了就是 key-value
式操作,单机支撑的并发量轻松一秒几万十几万,支撑高并发 so easy。单机承载并发量是 mysql 单机的几十倍。
缓存是走内存的,内存天然就支撑高并发。
转载于:https://www.cnblogs.com/lyon91/p/10456301.html
在项目中缓存是如何使用的?相关推荐
- 在项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?
项目中缓存是如何使用的? 这个,需要结合自己项目的业务来. 为什么要用缓存? 用缓存,主要有两个用途:高性能.高并发. 高性能 假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作 m ...
- 缓存三连问:项目中如何使用、为什么要使用、使用不当会造成什么后果?
点击关注公众号,利用碎片时间学习 问题 项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果? 分析 这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬. 只要问到缓存 ...
- 在.Net项目中使用Redis作为缓存服务
最近由于项目需要,在系统缓存服务部分上了redis,终于有机会在实际开发中玩一下,之前都是自己随便看看写写,很零碎也没沉淀下来什么,这次算是一个系统学习和实践过程的总结. 和Redis有关的基础知识 ...
- 项目中CI缓存适配器的使用
2019独角兽企业重金招聘Python工程师标准>>> 项目中CI缓存适配器的使用 项目中有若干控制器,这些控制器有一些公共数据,因此,在基控制器类中获取这些数据,为了提高系 ...
- 谈谈MVC项目中的缓存功能设计的相关问题
今天这一篇文章我来谈一谈在MVC 3项目中的缓存功能,以及针对缓存的一些设计上的考量,给大家参考参考 前言 为什么需要讨论缓存?缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源 ...
- java 清理页面缓存数据_Web项目中,清理浏览器缓存的几种方式
在B/S架构的项目中,访问web项目时,往往需要清理浏览器的缓存数据,js ,css 等等. //方法1:在引用的js ,css ,图片,等文件的url 处加一个变量,生成一个随机数字 //方法2:在 ...
- Vue项目中created生命周期重复执行,未缓存下来
Vue项目中.vue文件的created函数进行路由切换时,执行了多次. 路由切换跳转时,发现一个页面的接口和页面展示每次进入都重新请求以及渲染,没有缓存下来,对比了一下的其它页面,并没有这个问题,所 ...
- 实战派 | Java项目中玩转Redis6.0客户端缓存
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. 在前面的文章中,我们介绍了Redis6.0中的新特性客户端缓存client-side caching,通过tel ...
- 缓存详解-在java项目中使用缓存
目录 一.概述 二.java常用的缓存 三.使用缓存将会面临的一些问题 穿透 雪崩 击穿 总结 三.缓存淘汰策略 缓存淘汰 在Spring项目中优雅的实现缓存 二级缓存推荐的实现 一.概述 在java ...
最新文章
- 《C++语义和性能分析》读书笔记
- cdmp不停增长 oracle_系统内存不足导致oracle进程被误杀terminating the instance due to error 822...
- ACM数学常用知识整理(持续更新ing)
- 5G NR — 基于 GPS 的时间同步
- 转载 1-EasyNetQ介绍(黄亮翻译) https://www.cnblogs.com/HuangLiang/p/7105659.html
- 计算机MCI风险快速筛查系统,轻度认知障碍风险快速筛查工具的测算过程及判别效果分析...
- Java UnknownHostException –服务器的无效主机名–如何解决?
- html分类代码查询,html标签元素分类(示例代码)
- Owin的URL编码怎么搞?以前都是HttpUtility.UrlEncode之类的,现在连system.web都没了,肿么办?...
- Spring Boot入口类
- 打印pdf文件 vfp_将Excel转换成PDF的工具有哪些?
- python线程池的使用
- 网页设计图片向上浮动_CSS实现图片向上浮动
- 随笔分类 - PowerShell
- C语言 基础的数学思维题
- 15日精读掌握《高德纳:具体数学》计划(2019.5/27-2019/6/10)
- sublime教程以及python环境的配置(二)常用插件安装和Boxy主题配置
- history路由下,Whitelabel Error Page错误
- Photoshop保存图片时闪退
- Java基础之四大核心函数式接口简单使用
热门文章
- RequireBusyDialog
- 使用javap分析Java的字符串操作
- yii 执行指定迁移文件_MySQL迁移PG工具pymysql2pgsql
- intelliJ Idea 添加 Tomcat部署(详细步骤)
- oracle11g系统初始化意义,Oracle11G 初始化脚本
- sdn体系的三个平面_软件定义网络基础---SDN控制平面
- printf不明确_资源贴|不是吧,还有人不知道指针?你想知道还不点进来看看?...
- html 图片变灰,科技常识:css使图片变灰的实现方法
- win10安装程序无法将配置为在此计算机,win10安装程序无法正常启动(完美解决)
- php中的$_server,细说PHP中的$_SERVER