当前位置: 首页 > news >正文

Redis_缓存1_缓存类型

14.redis缓存

14.1简介

穿透型缓存:
在这里插入图片描述

  • 缓存与后端数据交互在一起,对服务端的调用隐藏细节。如果从缓存中可以读到数据,就直接返回,如果读不到,就到数据库中去读取,从数据库中读到数据,也是先更新缓存,再返回给服务端。向数据库中写入数据,也是先写入缓存中,再同步给数据库

旁路型缓存:
在这里插入图片描述

  1. 服务先到缓存中读取数据,如果数据存在,就直接返回
  2. 如果缓存中没有数据,就到数据库中去读取
  3. 服务再将从数据库中读到的数据同步给缓存

redis是旁路型缓存

14.2 缓存的特征

  1. 效率高
  2. 容量小

14.3 redis缓存处理的两种情况

缓存命中:redis中有相应的数据,直接从redis中读取,性能很高
缓存缺失:redis中没有相应的数据,从后端关系型数据库中读取数据,性能很低。如果发生缓存缺失,为了后续程序请求中可以从缓存中读取数据,要将缺失的数据写入redis,也称作缓存更新.

String cache_key="user1001";
String cache_value=redis.get(cache_key);//想要从缓存中读取数据
if (cache_value!=null){
//做相关业务逻辑
}else{cache_value=mysql.getUserById(cache_key);//从关系型数据库中去读取数据redis.set(cache_key,cache_value);//缓存更新处理
}

redis不适用于无法获取源码的应用。

14.4 缓存的类型

14.4.1 只读缓存

只用读取数据的缓存。如果有写入数据的请求,直接发到后端的mysql或oracle数据库,在数据库中完成增删除改。对于删除和修改的数据来说,redis中可能会有旧的数据,需要将旧的数据删除,下一次读取时,redis缓存缺失,那么就从数据库中读数据,并更新到redis缓存中。
在这里插入图片描述
缓存图片、视频、手机的通讯记录、银行的以往帐单。

14.4.2 读写缓存

读定缓存,不只完成对数据读取任务,数据的增加、删除、修改操作,也是在redis缓存中完成,由于redis内存数据库效率很高,所以可以快速响应给服务端调用。

redis内存数据,在redis实例出现问题时,导致数据丢失。

  • 同步直写:优先保证数据可靠
  • 异步写回:执行效率高

对写请求操作进行高效处理,选择读写缓存
如果写操作很少,需要提升读取效率,选择只读缓存

http://www.lryc.cn/news/124614.html

相关文章:

  • 模拟 枚举
  • 【实操】2023年npm组件库的创建发布流程
  • 缓存设计的典型方案
  • SQL笔记
  • UHPC的疲劳计算——兼论ModelCode2010的适用性
  • 关于elementui的input的autocomplete的使用
  • 即然利用反射机制可以破坏单例模式,有什么方法避免呢?
  • 【IDEA问题】下载不了源代码
  • 代码随想录第四十八天
  • 书写自动智慧:探索Python文本分类器的开发与应用:支持二分类、多分类、多标签分类、多层级分类和Kmeans聚类
  • 前端Webpack面试题
  • LabVIEW使用边缘检测技术实现彩色图像隐写术
  • 第一次参加计算机会议报告注意事项以及心得
  • TypeScript教程(二)基础语法与基础类型
  • 问道管理:网上如何打新股?
  • 重磅更新,HertzBeat 集群版发布,易用友好的开源实时监控系统!
  • .NET6使用微信小程序授权登录,获取手机号
  • 游戏类APP如何提升用户的活跃度?
  • 【Sklearn】基于支持向量机算法的数据分类预测(Excel可直接替换数据)
  • 抽象类与接口
  • 第三章,矩阵,09-线性方程组解的判断与求法、矩阵方程
  • Vue-4.编译器VsCode
  • Neo4j之Aggregation基础
  • Python 函数
  • Spring(三):Spring中Bean的生命周期和作用域
  • 【AutoLayout案例03-设置底部按钮之间相同间距 Objective-C语言】
  • 代码随想录算法训练营20期|第七天|哈希表part02|454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 ● 总结
  • NavMeshPlus 2D寻路插件
  • 【03】基础知识:typescript中的函数
  • ssm社区文化宣传网站源码和论文