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

【java面经thinking】二

目录

redis了解

使用原因

应用场景

数据类型

redis事务

数据持久化

RDB(快照):

AOF(即时更新):

选择方式:

redis快速的原因

redis单线程

单机瓶颈

经典3问

参考博客

redis了解

缓存中间件

使用原因

缓解高并发、提升高可用。因为redis是基于内存的,读写操作要比MySQL的IO操作快得多的多。

应用场景
  • 不变的用户信息:请求从缓存拿,再从数据库
  • 计数器:redis的incr命令实现原子性的递增,例如限制一个接口的请求频率等
  • 热点词,验证码等业务
数据类型

基于键值的方式

String,Hash,List,Set,SortSet

SortSet可以实现排行榜

redis事务

一组命令的集合,相当于一个队列。

所有命令都会被序列化,顺序执行,不会被中断(一致性,排他性,顺序性)。

不存原子性:而Mysql的事务有原子性(全成功或者全失败)。

不存隔离性:不存在脏读,幻读不可重读的现象

数据持久化
RDB(快照):

周期性备份,数据快照形式,fork,cow。fork即创建子进程做数据同步,cow即copy on write ,父子进程数据共享数据段,父进程依旧提供读写服务。

优点: 快照恢复比AOF要快。

缺点:备份大的项目可能停顿1s,对秒杀业务不友好。丢失一个周期时间的数据。

AOF(即时更新):

即时性备份:对每条数据的操作指令作为日志,然后追加到日志文件中,因为是追加的方式,所以不需要去寻址,比较快速。

优点:数据比较完整,写入迅速,可读性强。

缺点:恢复缓慢,每次写入redis的qps都备份较缓慢。

选择方式:

二者兼用。先用RDB快速恢复数据,再使用AOF补全。

redis快速的原因

基于内存:KV数据库,读取O(1)

单线程的:无需关注线程上下文与竞争条件,没有线程切换而产生的cpu消耗

数据结构简单:各自分段间没有关联

多路复用I/O模型,非阻塞IO,多路复用指的是多个请求复用一个线程,当多个连接都有请求时,复用器会轮询所有请求,挨个处理。

qps:每秒查询次数

redis单线程

够快了

单机瓶颈

采用redis-cluster集群来横向拓展,主从同步,读写分离,且可以有多个主节点,每个主节点又可以挂多个从节点。

经典3问

缓存穿透、缓存击穿与雪崩

参考博客

面试干货7——刁钻面试官:关于redis,你都了解什么?_群里有人试过redis吗-CSDN博客

相关文章:

【java面经thinking】二

目录 redis了解 使用原因 应用场景 数据类型 redis事务 数据持久化 RDB(快照): AOF(即时更新): 选择方式: redis快速的原因 redis单线程 单机瓶颈 经典3问 参考博客 redis了解 缓存中间件 使用原因 缓解高并发、提升高可用。…...

正规方程推导,详细版

推导正规方程(Normal Equation)通常是在线性回归的上下文中进行的。线性回归的目标是找到一个线性模型 h θ ( x ) θ T x h_\theta(x) \theta^T x hθ​(x)θTx,使得模型的预测值与实际值之间的差异(通常是均方误差&#xff0…...

【原创】java+ssm+mysql在线文件管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…...

cocos Creator + fairyGUI 快速入门

版本 Creator 3.8.x,FairyGUI 2022 大部分内容来自 https://en.fairygui.com/docs/sdk/creator 1.新建cocos项目,根目录运行 npm install --save fairygui-cc 引入 fairyGUI库 2.assets目录之外新建fairyGUI项目 3.fairyGUI中编辑UI 完成后发布到Creato…...

UICollectionView 的UICollectionReusableView复用 IOS18报错问题记录

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath 方法复用报错 报错详情: Terminating app due to uncaught exception NSInternal…...

Ansible Roles与优化

Ansible Roles与优化 Ansible作为一款自动化运维工具,凭借其简洁的语法、强大的功能以及良好的扩展性,在IT运维领域得到了广泛应用。Ansible Roles作为Ansible的核心特性之一,为自动化部署和管理提供了极大的便利。本文将深入探讨Ansible Ro…...

Ubuntu 22.04上安装Miniconda

在Ubuntu 22.04上安装Miniconda,可以按照以下步骤进行: 步骤1:更新系统 首先,更新您的系统软件包: sudo apt update sudo apt upgrade -y步骤2:下载Miniconda安装脚本 访问Miniconda的官方网站或使用以下…...

【MySQL】入门篇—SQL基础:数据定义语言(DDL)

数据定义语言(DDL,Data Definition Language)是SQL(结构化查询语言)的一部分,主要用于定义和管理数据库的结构。 DDL允许用户创建、修改和删除数据库及其对象(如表、索引、视图等)。…...

电影评论网站开发:Spring Boot技术详解

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了电影评论网站的开发全过程。通过分析电影评论网站管理的不足,创建了一个计算机管理电影评论网站的方案。文章介绍了电影评论网站的系统分析部分&…...

20240817 全志 笔试

文章目录 1、选择题1.11.21.31.41.51.61.71.81.91.101.111.121.131.141.151.161.171.181.191.202、填空题2.12.23、问答题3.14、编程题4.14.2岗位:NO2510 嵌入式软件设计工程师(珠海/广州/西安/深圳) 题型:20 道选择题,2 道填空题,1 道问答题,2 道编程题 1、选择题 1.…...

laravel 查询数据库

数据库准备 插入 三行 不同的数据 自行搭建 laravel 工程 参考 工程创建点击此处 laravel 配置 数据库信息 DB_CONNECTIONmysql #连接什么数据库 DB_HOST127.0.0.1 # 连接 哪个电脑的 ip (决定 电脑 本机) DB_PORT3306 # 端口 DB_DATABASEyanyu…...

【Codeforces】CF 2009 F

Firefly’s Queries #前缀和 #数据结构 #数学 题目描述 Firefly is given an array a a a of length n n n. Let c i c_i ci​ denote the i i i’th cyclic shift ∗ ^{\text{∗}} ∗ of a a a. She creates a new array b b b such that b c 1 c 2 ⋯ c n b c…...

GTP4聊天记录中letax保存为word

​ 别的不说,GPT4用来看代码很是很爽的,可以让他直接恢复出函数中的数学公式,有的时候为了做笔记,GPT4回复的答案,复制出来使markdown、letax等格式,为了更好的记笔记,可以使用下面的工具将复制…...

vscode调试编译找不到gcc,只有cl,但是检查cmd是对的,控制面板的路径也更改了

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&am…...

空间解析几何5-空间圆到平面的距离【附MATLAB代码】

目录 理论公式 matlab代码 理论公式 matlab代码 function [dis,P,Q,L]Circle2PlaneDistance(T,R,n,Pn) % output % dis 为最短距离,P为距离最短时圆上的点 Q为P对应的投影点 L为最小值有几个 % input % T为园心到基坐标系的变换矩阵 R为圆半径 n为平面的单位法向…...

[已解决] pycharm添加本地conda虚拟环境 + 配置解释器 - pycharm找不到conda可执行文件

目录 问题: 方法: 补充:创建conda虚拟环境 参考文档:pycharm找不到conda可执行文件怎么办?-CSDN 问题: 1.显示:未为项目配置 Python 解释器 2.想在pycharm中使用本地创建的虚拟环境 方法&a…...

SENT - Single Edge Nibble Transmission for Automotive

SENT 总线的特征和优势 SENT 总线是一种数字信号传输协议,具有更高的传输精度和速度;SENT 总线是单线传输数据,减少信号线,降低成本。加上电源和地线,总共 3 线;SENT 总线具有更强大的诊断功能;…...

2024年软件设计师中级(软考中级)详细笔记【7】面向对象技术(下)23种设计模式(分值10+)

目录 前言阅读前必看 第七章 面向对象技术(下)7.3 设计模式(固定4分)7.3.1 设计模式的要素7.3.2 创建型设计模式7.3.2.1 Abstract Factory(抽象工厂)7.3.2.2 Builder(生成器)7.3.2.3…...

未来人工智能的发展对就业市场的影响 人工智能在生活中的相关

人工智能(Artificial Intelligence),英文缩写为AI.是新一轮科技革命和产业变革的重要驱动力量, 是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学. 人工智能的发展对就业市场的影响主要…...

Oracle EBS 中财务模块

Oracle E-Business Suite (EBS) 提供了全面的财务管理解决方案,涵盖了企业财务活动的各个方面。以下是EBS中主要的财务模块及其功能概述: 总账(General Ledger, GL):Oracle EBS 中 GL 模块的财务流程概览-CSDN博客 总账…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

HTML 列表、表格、表单

1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

快速排序算法改进:随机快排-荷兰国旗划分详解

随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...