【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,使得模型的预测值与实际值之间的差异(通常是均方误差࿰…...
【原创】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博客 总账…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
