Java后端八股笔记

Java后端八股笔记

Redis八股

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

在这里插入图片描述
上两种都有可能导致脏数据
所以使用两次删除缓存的技术,延时是因为数据库有主从问题需要更新,无法达到完全的强一致性,只能达到控制一致性。

一般放入缓存中的数据都是读多写少的数据
在这里插入图片描述
业务逻辑代码👇
在这里插入图片描述
写锁👇
在这里插入图片描述
读写锁的方法确实可以达成强一致性,但是效率太低了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
👆默认一般使用everysec
在这里插入图片描述
在这里插入图片描述
RDB如果两次备份之间宕机了,会丢失数据
在这里插入图片描述
在这里插入图片描述

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

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

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

在这里插入图片描述
多端部署无法限制线程的互斥👆
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
👆EX 过期时间还是需要设定的,因为如果突然宕机了,锁设定了时间会按时间释放,不设定则无法释放会造成死锁。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同一个线程可重入锁!!!👆
在这里插入图片描述

在这里插入图片描述
👆主机宕机了后,一个从属机器变成了主机器,再次为新线程分配锁,造成了两个线程持有一把锁,无法保证主从的一致性
在这里插入图片描述
👆红锁可以保证主从数据的一致性。但是低效
一般业务中redis不能保证数据的强一致性,如果想保证强一致性可以使用zookeeper
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
👆当master down了之后哨兵选代替主节点(master)的过程

👇脑裂是因为哨兵监听主节点的时候网络不畅,又在可控范围选择了新的master节点,当网络通常后,清空了master(原),让其成为slave,导致这段时间写在master里的数据被清空。
在这里插入图片描述
在这里插入图片描述

👆这个是解决脑裂的方法,write最少一个salve点,lag延迟不能超过5秒,这些不满足就拒绝客户端的请求,减少数据的进一步丢失。(不是很懂其中逻辑)
在这里插入图片描述
在这里插入图片描述
👆每个master保存不同的数据,彼此检测online状况(类似哨兵!),访问任意一个master就可以获得其他master的数据(master之间有路由)。
在这里插入图片描述
👇有效实例就是master节点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
等待数据就绪和读取时间浪费了很多时间。👆
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
👆IO是最耗时的操作
在这里插入图片描述

Mysql

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
聚合查询————可以用增加一个实例表解决
多表查询————可以优化sql语句进行查询
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
👆 显示Using index condition的话 说明是有优化的空间
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
👆唯一索引指的是类似主键这种数据内容唯一的属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

9、JavaWeb-文件上传-配置文件

P146 案例-文件上传-简介 文件上传,将本地图片、视频等文件上传到服务器,供其他用户浏览下载的过程。 文件上传前端页面三要素: 如果前端表单的编码格式选择的默认编码方式x-www.form-urlencoded,则提交的文件仅仅是文件名&…

【C++ STL详解】——string类

目录 前言 一、string类对象的常见构造 二、string类对象的访问及遍历 1.下标【】(底层operator【】函数) ​编辑 2.迭代器 3.范围for 4.at 5.back和front 三、string类对象的容量操作 1.size 和 length 2.capacity 3.empty 4.clear 5.res…

【AIGC】Stable Diffusion的建模思想、训练预测方式快速

在这篇博客中,将会用机器学习入门级描述,来介绍Stable Diffusion的关键原理。目前,网络上的使用教程非常多,本篇中不会介绍如何部署、使用或者微调SD模型。也会尽量精简语言,无公式推导,旨在理解思想。让有…

JVM-虚拟机栈概述

背景:由于跨平台的设计,java指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器。 栈是运行时单位,而堆是存储的单位。即:栈解决程序运行的问题,即程序如何执行,或者说如何…

JavaWeb——013SpringBootWeb综合案例(事务管理、AOP)

事务&AOP 目录 事务&AOP1. 事务管理1.1 事务回顾1.2 Spring事务管理1.2.1 案例1.2.2 原因分析1.2.3 Transactional注解 1.3 事务进阶1.3.1 rollbackFor1.3.3 propagation1.3.3.1 介绍1.3.3.2 案例 2. AOP基础2.1 AOP概述2.2 AOP快速入门2.3 AOP核心概念 3. AOP进阶3.1 …

ai直播数字人:AI大模型应用开发的神奇世界

当AI技术的发展走向一个新的高峰,AI直播数字人逐渐成为人们关注的焦点。这种全新的数字人形态,通过大模型应用开发,带来了一个神奇世界。 在这个神奇世界里,AI直播数字人可以展现出与真实人类相媲美的外貌和声音。通过先进的图像…

方法中单独使用return关键字

一、return关键字的单独使用 二、示例代码 public class ReturnDemo {public static void main(String[] args) {chu(10,0);chu(10,2);}public static void chu(int a,int b){if (b 0) {System.out.println("除法出错,除数不能为零");return;}System.ou…

消息队列-kafka-消息发送流程(源码跟踪) 与消息可靠性

官方网址 源码:https://kafka.apache.org/downloads 快速开始:https://kafka.apache.org/documentation/#gettingStarted springcloud整合 发送消息流程 主线程:主线程只负责组织消息,如果是同步发送会阻塞,如果是异…

学习笔记:顺序表和链表(一、顺序表)

首先来个导言: 1.数组的优势:下标的随机访问,物理空间连续。数组指针用[ ]或者 * , 结构体指针用 - > 2.书写习惯 test.c写出主体框架 QelList.c写出结构体、头文件、函数声明 QelList.c写出函数的实现 3.挪动:如果从前…

Oracle数据库日志文件

导读 本文讲解Oracle数据库的日志文件 Oracle数据库日志文件是数据库管理中至关重要的组成部分,它们记录了数据库系统中发生的各种事务和操作,以确保数据的一致性、完整性和可恢复性。在Oracle数据库中,主要有三种类型的日志文件:…

2024年AIGC发展现状

AIGC的发展现状呈现出一种蓬勃发展的态势。随着技术的不断进步和应用场景的不断拓展,AIGC正在逐渐成为引领新一轮科技革命和产业变革的重要力量。 在应用层创新方面,AIGC产业发展已经确定了明确的方向。AIGC应用正在率先在B端办公和生产力场景中落地&am…

APEX开发过程中需要注意的小细节3

【问题记录】在编辑数据信息时发现辩护的数据无法保存,提示 “ORA-01799: 列不能外部联接到子查询” 仅展示的数据来自主表,这部分都是关联子表重点内容,编辑时无法保存 于是想将扩展表作为主表,在主表进行修改试试 新的报错&a…

C#实现归并排序算法

C#实现归并排序算法 以下是 C# 中的归并排序算法实现示例: using System;class MergeSortAlgorithm {// 合并两个子数组static void Merge(int[] arr, int left, int mid, int right){// 计算左子数组和右子数组的长度int n1 mid - left 1;int n2 right - mid;/…

C语言从入门到精通 第十二章(程序的编译及链接)

写在前面: 本系列专栏主要介绍C语言的相关知识,思路以下面的参考链接教程为主,大部分笔记也出自该教程。除了参考下面的链接教程以外,笔者还参考了其它的一些C语言教材,笔者认为重要的部分大多都会用粗体标注&#xf…

MySQL表列数和行大小限制详解

MySQL表列数和行大小限制详解 MySQL在表的列数和行大小方面有一些限制,本文将对这些限制进行详细解释。 列数限制 MySQL对每个表的列数有硬限制为4096列,但对于给定的表,实际的最大列数可能会更少。确切的列限制取决于几个因素&#xff1a…

使用Python的Scrapeasy几行代码内快速抓取任何网站的信息

前言 在浏览网页时,经常会遇到喜欢的视频、音频和图片,希望将它们保存下来。通常的做法是使用浏览器的书签功能或者网站提供的收藏功能。但是,如果网站上的内容被删除,这些方式都会失效。比如在短视频网站中,如果我们…

读《文明之光》第1册总结

人类几千年的文明史和地球的历史相比,实在是太短暂了,大约相当于几分钟和一年的关系。人类已经走过的路,相比今后要走的漫漫长路,只能算是刚刚起步。如果跳出一个个具体事件,站在历史的高度去看,我们会发现…

支小蜜校园防欺凌系统听到声音之后会自动识别吗

在校园安全领域,特别是在预防和应对欺凌问题上,校园防欺凌系统作为新兴的技术应用,正在受到越来越多的关注和探索。那么当这样的系统听到声音之后,它是否能够自动识别并作出相应反应呢?本文将围绕这一问题展开探讨。 …

Python通过SFTP实现网络设备配置备份

一、背景 为了防止网络设备意外损坏,导致配置文件无法恢复,可以通过将网络设备的配置文件备份到本地电脑上。 一般情况下,设备支持通过FTP、TFTP、FTPS、SFTP和SCP备份配置文件。其中使用FTP和TFTP备份配置文件比较简单,但是存在…

K线实战分析系列之十八:十字线——判断行情顶部的有效信号

K线实战分析系列之十八:十字线——判断行情顶部的有效信号 一、十字线二、十字线总结三、三种特殊十字线四、长腿十字线五、墓碑十字线六、蜻蜓十字线七、特殊十字线总结 一、十字线 重要的反转信号 幅度较大的下跌,出现一根十字线,正好是在…