项目中缓存是如何使用的?

这个,需要结合自己项目的业务来。

为什么要用缓存?

用缓存,主要有两个用途:高性能、高并发。

高性能

假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作 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

在项目中缓存是如何使用的?相关推荐

  1. 在项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?

    项目中缓存是如何使用的? 这个,需要结合自己项目的业务来. 为什么要用缓存? 用缓存,主要有两个用途:高性能.高并发. 高性能 假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作 m ...

  2. 缓存三连问:项目中如何使用、为什么要使用、使用不当会造成什么后果?

    点击关注公众号,利用碎片时间学习 问题 项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果? 分析 这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬. 只要问到缓存 ...

  3. 在.Net项目中使用Redis作为缓存服务

    最近由于项目需要,在系统缓存服务部分上了redis,终于有机会在实际开发中玩一下,之前都是自己随便看看写写,很零碎也没沉淀下来什么,这次算是一个系统学习和实践过程的总结. 和Redis有关的基础知识 ...

  4. 项目中CI缓存适配器的使用

    2019独角兽企业重金招聘Python工程师标准>>> 项目中CI缓存适配器的使用     项目中有若干控制器,这些控制器有一些公共数据,因此,在基控制器类中获取这些数据,为了提高系 ...

  5. 谈谈MVC项目中的缓存功能设计的相关问题

    今天这一篇文章我来谈一谈在MVC 3项目中的缓存功能,以及针对缓存的一些设计上的考量,给大家参考参考 前言 为什么需要讨论缓存?缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源 ...

  6. java 清理页面缓存数据_Web项目中,清理浏览器缓存的几种方式

    在B/S架构的项目中,访问web项目时,往往需要清理浏览器的缓存数据,js ,css 等等. //方法1:在引用的js ,css ,图片,等文件的url 处加一个变量,生成一个随机数字 //方法2:在 ...

  7. Vue项目中created生命周期重复执行,未缓存下来

    Vue项目中.vue文件的created函数进行路由切换时,执行了多次. 路由切换跳转时,发现一个页面的接口和页面展示每次进入都重新请求以及渲染,没有缓存下来,对比了一下的其它页面,并没有这个问题,所 ...

  8. 实战派 | Java项目中玩转Redis6.0客户端缓存

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. 在前面的文章中,我们介绍了Redis6.0中的新特性客户端缓存client-side caching,通过tel ...

  9. 缓存详解-在java项目中使用缓存

    目录 一.概述 二.java常用的缓存 三.使用缓存将会面临的一些问题 穿透 雪崩 击穿 总结 三.缓存淘汰策略 缓存淘汰 在Spring项目中优雅的实现缓存 二级缓存推荐的实现 一.概述 在java ...

最新文章

  1. 《C++语义和性能分析》读书笔记
  2. cdmp不停增长 oracle_系统内存不足导致oracle进程被误杀terminating the instance due to error 822...
  3. ACM数学常用知识整理(持续更新ing)
  4. 5G NR — 基于 GPS 的时间同步
  5. 转载 1-EasyNetQ介绍(黄亮翻译) https://www.cnblogs.com/HuangLiang/p/7105659.html
  6. 计算机MCI风险快速筛查系统,轻度认知障碍风险快速筛查工具的测算过程及判别效果分析...
  7. Java UnknownHostException –服务器的无效主机名–如何解决?
  8. html分类代码查询,html标签元素分类(示例代码)
  9. Owin的URL编码怎么搞?以前都是HttpUtility.UrlEncode之类的,现在连system.web都没了,肿么办?...
  10. Spring Boot入口类
  11. 打印pdf文件 vfp_将Excel转换成PDF的工具有哪些?
  12. python线程池的使用
  13. 网页设计图片向上浮动_CSS实现图片向上浮动
  14. 随笔分类 - PowerShell
  15. C语言 基础的数学思维题
  16. 15日精读掌握《高德纳:具体数学》计划(2019.5/27-2019/6/10)
  17. sublime教程以及python环境的配置(二)常用插件安装和Boxy主题配置
  18. history路由下,Whitelabel Error Page错误
  19. Photoshop保存图片时闪退
  20. Java基础之四大核心函数式接口简单使用

热门文章

  1. RequireBusyDialog
  2. 使用javap分析Java的字符串操作
  3. yii 执行指定迁移文件_MySQL迁移PG工具pymysql2pgsql
  4. intelliJ Idea 添加 Tomcat部署(详细步骤)
  5. oracle11g系统初始化意义,Oracle11G 初始化脚本
  6. sdn体系的三个平面_软件定义网络基础---SDN控制平面
  7. printf不明确_资源贴|不是吧,还有人不知道指针?你想知道还不点进来看看?...
  8. html 图片变灰,科技常识:css使图片变灰的实现方法
  9. win10安装程序无法将配置为在此计算机,win10安装程序无法正常启动(完美解决)
  10. php中的$_server,细说PHP中的$_SERVER