Redis(四)多级缓存

news2024/10/7 16:20:37

文章目录

  • 一、传统缓存存在的问题
  • 二、多级缓存方案
  • 三、JVM进程缓存
      • 案例演示:
  • 四、Lua语法入门
    • Lua语言入门
  • 五、多级缓存
    • (一)安装OpenResty
    • (二)OpenResty入门
    • (三)请求参数处理
    • (四)查询Tomcat
    • (四)Redis缓存预热
    • (四)查询Redis缓存
    • (四)Nginx本地缓存
  • 六、缓存同步
    • (一)数据同步策略
    • (二)安装Canal
    • (三)监听Canal


在这里插入图片描述

一、传统缓存存在的问题

在这里插入图片描述

二、多级缓存方案

在这里插入图片描述

三、JVM进程缓存

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

案例演示:

在这里插入图片描述

在这里插入图片描述

四、Lua语法入门

在这里插入图片描述

Lua语言入门

在这里插入图片描述

五、多级缓存

(一)安装OpenResty

在这里插入图片描述

(二)OpenResty入门

(三)请求参数处理

(四)查询Tomcat

(四)Redis缓存预热

(四)查询Redis缓存

(四)Nginx本地缓存

六、缓存同步

(一)数据同步策略

缓存数据同步的常见方式有三种:

  1. 设置有效期:给缓存设置有效期,到期后自动删除。再次查询时更新
    优势:简单、方便
    缺点:时效性差,缓存过期之前可能不一致
    场景:更新频率较低,时效性要求低的业务
  2. 同步双写:在修改数据库的同时,直接修改缓存 优势:时效性强,缓存与数据库强一致 缺点:有代码侵入,耦合度高;
    场景:对一致性、时效性要求较高的缓存数据
  3. 异步通知:修改数据库时发送事件通知,相关服务监听到通知后修改缓存数据 优势:低耦合,可以同时通知多个缓存服务
    缺点:时效性一般,可能存在中间不一致状态 场景:时效性要求一般,有多个服务需要同步

在这里插入图片描述

(二)安装Canal

在这里插入图片描述
在这里插入图片描述

(三)监听Canal

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1076089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年中国塑形内衣市场发展概况分析:五年增长率高达56%,经济与安全兼具的塑身内衣市场不容小觑[图]

塑身内衣可以重修、重塑身体曲线。塑身内衣,能够马上雕塑您的身材,美好身段表露无遗,塑身内衣在呵护您的身体之下,恰到好处的集中胸部,雕塑腰部,以及提臀作用,缔造自然的性感窈窕美态。 塑身内…

4D5D影院设备发展前景7D互动影院体验馆应用

5D影院设备发展前景广阔。随着科技的不断进步,5D影院设备在电影行业中的应用越来越广泛。5D影院设备以其独特的沉浸式体验和互动性,吸引了大量观众。未来,随着技术的不断创新和成本的降低,5D影院设备将会得到更多的应用和推广。 首…

9月《中国数据库行业分析报告》已发布,47页干货带你详览 MySQL 崛起之路!

为了帮助大家及时了解中国数据库行业发展现状、梳理当前数据库市场环境和产品生态等情况,从2022年4月起,墨天轮社区行业分析研究团队出品将持续每月为大家推出最新《中国数据库行业分析报告》,持续传播数据技术知识、努力促进技术创新与行业生…

算法题:摆动序列(贪心算法解决序列问题)

这道题是一道贪心算法题,如果前两个数是递增,则后面要递减,如果不符合则往后遍历,直到找到符合的。(完整题目附在了最后) 代码如下: class Solution(object):def wiggleMaxLength(self, nums):…

获得京东商品描述 API (商品详情图)

电商卖货,所有产品信息都是通过商品的主图、详情图、商品描述展示出来的。做一个简洁大方又能把产品特点介绍清楚的商品详情信息非常重要。在现有的淘宝京东拼多多等平台,有大量的商品数据,基本你做什么产品都能找到同类的产品信息。如果能够…

Spring5应用之整合MyBatis

作者简介:☕️大家好,我是Aomsir,一个爱折腾的开发者! 个人主页:Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏:Spring5应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言为什…

腾讯云2023年双十一优惠活动整理汇总

随着双十一的到来,各大云服务厂商也开始纷纷推出优惠活动,其中腾讯云作为国内知名的云服务提供商,自然也不例外。那么,腾讯云双十一优惠活动都有哪些呢?本文将会为大家整理汇总,方便大家了解和选择。 一、腾…

Java拆装箱

拆装箱 基本数据类型和包装类的区别 包装类是对象,基本数据类型不是。包装类型是引用的传递,基本数据类型是值的传递声明方式不同:包装类通过new关键字,基本数据类型不需要通过new存储位置不同:包装类型存储在堆内存…

Flutter 打包 windows桌面端可执行文件

简单一说 因为个人兴趣爱好,在写一个跨平台工具。为了省事没去官网看文档,直接翻阅各大博客网站,一个简单的命令,博客写的内容比较复杂。为了方便自己和有需要同学,简单做一个记录。 Flutter提供了一种方便命令行的方…

将网站域名访问从http升级到https(腾讯云/阿里云)

文章目录 1.前提说明2.服务器安装 docker 与 nginx2.1 安装 docker🍀 基于 centos 的安装🍀 基于ubuntu 2.2 配置阿里云国内加速器🍀 找到相应页面🍀 创建 docker 目录🍀 创建 daemon.json 文件🍀 重新加载…

安全与隐私:直播购物App开发中的重要考虑因素

随着直播购物App的崭露头角,开发者需要特别关注安全性和隐私问题。本文将介绍在直播购物App开发中的一些重要安全和隐私考虑因素,并提供相关的代码示例。 1. 数据加密 在直播购物App中,用户的个人信息和支付信息是极为敏感的数据。为了保护…

【K8S系列】深入解析k8s 网络插件—kube-router

序言 做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记论点蓝色:用来标记论点 在现代容器化应用程序的世界中…

【揭秘】那些你可能没发现的高质量免费学习资源网站

在我们的日常生活和工作中,我们总会遇到需要学习和提升自己的时候,但往往在寻找学习资源的过程中,我们会遇到一些问题。比如,有些网站的资源都是付费才能观看,让我们感到困扰。其实,只是你还没找对资源网站…

Python数据分析实战-实现卡方检验(附源码和实现效果)

实现功能 使用scipy.stats模块中的chi2_contingency函数来执行卡方检验(Chi-square test)。卡方检验用于检验两个或多个分类变量(组别)之间是否存在显著关联(差异)。 例1:从某中学随机抽取两个…

指针定义等概念

1.为了能正确访问数据,所以我们就应该给每个字节编号,每个字节编号是唯一的。内存中的字节编号都是地址或者指针。 2.c语言中用一个变量存放指针就是指针变量,指针变量的值某一个变量的地址。 m是指针变量名,x是被指向的变量的变…

数据输出流和数据输入流

数据输出流 package dataOutputSmTest;import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.OutputStream;public class dataOS {//掌握数据输出流public static void main(String[] args) {//创建一个数据输出流 包装低级的字节输出流try(Dat…

多服务器云探针源码(服务器云监控)/多服务器多节点_云监控程序python源码

源码简介: 多服务器云探针源码(服务器云监控),支持python多服务器多节点,云监控程序源码。它是一款很实用的云探针和服务器云监控程序源码。使用它可以帮助管理员能够快速监控和管理各种服务器和节点,实用性强。 源码链接: 网盘…

双机备份?

1.双机热备(概念) 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情…

提高Java代码的性能和效率

对于Java开发者来说,提高代码性能和效率是一个不断追求的目标。本文将分享一些实用的技巧和方法,帮助您优化Java代码,提升程序运行速度和资源利用率。让我们一起来学习如何提高Java代码的性能和效率吧! 一、优化算法和数据结构选…

Vue3 编译原理

文章目录 一、编译流程1. 解读入口文件 packgages/vue/index.ts2. compile函数的运行流程 二、AST 解析器1. ast 的生成2. 创建ast的根节点3. 解析子节点 parseChildren(关键) 一、编译流程 1. 解读入口文件 packgages/vue/index.ts 首先从Vue对象的入…