Day06

简介: Day06:掌握Redis常见数据结构(String、Hash、List、Set、Sorted Set、Geospatial),了解AOF与RDB持久化机制及刷盘策略,熟悉缓存雪崩、穿透、击穿的成因与解决方案,并学习MySQL索引优化相关理论。

Day06

每日必会
说下常见的Redis数据结构吧

1字符串(String):最基本的数据结构,可以存储字符串、整数或者浮点数。
2哈希(Hash):类似于关联数组,可以存储多个键值对,适合存储对象的属性。
3列表(List):双向链表结构,支持从两端进行元素的插入和删除,适合做队列或者栈。
4集合(Set):无序且不重复的元素集合,支持集合间的交集、并集和差集等操作。
5有序集合(Sorted Set):类似于集合,但每个元素都会关联一个分数,可以按照分数进行排序。
6地理空间索引(Geospatial Index):用于存储地理位置信息的数据结构,支持附近位置的搜索等功能。

Redis的持久化了解吗

了解过的面试官,主要是AOF和RDB,AOF是一种存储命令的持久化方式,可以借助于rewriteaof命令进行重写压缩以提高性能,而RDB存储的是一个二进制文件,两者一般是配合使用的,避免数据丢失。
并且持久化也跟刷盘机制有关,如果是always就不会丢失数据,everysecond最多丢一秒,如果是none交给系统就可能丢的多了。

Redis的三剑客

1缓存雪崩(Cache Avalanche):指在某个时间段内,大量缓存数据同时失效,导致大量请求直接访问数据库,造成数据库压力剧增,甚至引起数据库宕机。缓存雪崩通常是由于缓存数据设置了相同的过期时间,导致在同一时间大量缓存同时失效引起的。
解决方法:可以在设置缓存时,给缓存数据的过期时间增加一个随机值,避免大量缓存同时失效;另外,可以使用热点数据预加载、限流等方式来缓解缓存雪崩的影响。
1缓存穿透(Cache Penetration):指恶意请求或者不存在的数据频繁访问缓存,由于缓存中不存在该数据,每次请求都会直接访问数据库,导致数据库压力增大。
解决方法:可以在缓存中对于不存在的数据设置一个空值,或者使用布隆过滤器等方式来过滤恶意请求,避免直接访问数据库。
1缓存击穿(Cache Breakdown):指针对某一热点数据,由于缓存数据过期或者被删除,导致大量请求直接访问数据库,造成数据库压力增大。
解决方法:可以在缓存失效时,使用互斥锁或者分布式锁来避免大量请求同时访问数据库,同时可以提前异步加载热点数据到缓存中,避免缓存失效时直接访问数据库。

理论专项
●MySQL
○索引数据结构
○SQL优化
■哪些场景会索引失效
■如何定位慢查询
○回表
○覆盖索引
○索引下推


相关文章
|
SQL 存储 算法
ClickHouse性能优化 3
ClickHouse性能优化
1251 0
|
测试技术 API
如何用Apifox 发送接口请求?
今天我们就来学习下大部分都要用的API工具的接口测试功能,也是对测试人员来说最实用的功能。
如何用Apifox 发送接口请求?
|
安全 机器人 API
简单几步,钉钉机器人秒变通义千问对话机器人
通过阿里云计算巢AppFlow平台,无需编码,只需简单几步,即可将钉钉机器人转化为通义千问对话机器人。首先在灵积模型服务平台获取API Key,然后在AppFlow中配置连接器,授权并保存Webhook Url。在钉钉中创建自定义机器人,选择Outgoing功能,填写签名和Webhook地址。最后,@机器人即可开始对话。此外,还提供了通过钉钉开放平台创建机器人的步骤。AppFlow简化了集成过程,加速了企业自动化服务流程。
1799 0
|
4月前
|
安全 Java API
别再瞎升级!SpringBoot 2 与 3 全维度核心差异、底层原理与实战避坑
Spring Boot 2 与 3 并非简单版本迭代:前者基于 JDK 8 和 Java EE(javax.*),后者全面升级至 JDK 17+、Jakarta EE 9+(jakarta.*),并原生支持 AOT 编译、虚拟线程、OpenAPI 3、RFC 7807 异常规范及云原生可观测性,架构与生态差异巨大,升级需系统规划与适配。
957 2
|
8月前
|
SQL 人工智能 自然语言处理
从"提需求排队"到"开口即得",AI 数据分析加快数据民主化
让业务人员能够通过最自然的语言与数据展开高效、精准的对话,真正实现"数据随问随答,洞察触手可及"。
|
9月前
|
消息中间件 运维 物联网
语音通知
语音通知服务适用于科技公司服务器或物联网设备异常时的告警通知。通过语音电话形式,向处理人播报预设模板内容,支持变量替换实现个性化提醒。需开通语音服务并申请资质、话术、号码及模板,可通过API发起呼叫并查询记录,支持主动查询与消息回执两种结果获取方式,提升运维响应效率。
语音通知
|
9月前
|
数据采集 领域建模 数据库
领域模型图(数据架构/ER图)
本文介绍如何通过四色原型法构建领域模型,并逐步推导出数据架构中的ER图。采用红色(时标性)、绿色(参与方-物品-地点)、黄色(角色)和蓝色(描述)四色模型,结合风控系统案例,详解从业务流程到实体关系图的建模过程,助力精准梳理数据结构。
 领域模型图(数据架构/ER图)
|
9月前
|
JSON 安全 机器人
钉钉通知
本文介绍如何通过Java代码调用钉钉机器人API实现系统告警消息推送。内容涵盖机器人创建、Webhook配置、Postman测试及Java代码实现,并提供限流策略与关键词安全设置等最佳实践,助力实时监控与异常通知。
|
9月前
|
安全 Java 应用服务中间件
4.认识SpringSecurity
Spring Security 是 Spring 生态中的安全框架,提供认证、授权及安全防护功能。支持多种认证方式(如表单、OAuth2、JWT等),基于过滤器链实现请求控制,可防御 CSRF 等攻击,保障 Web 应用安全。
|
NoSQL 应用服务中间件 Shell
【Docker】基本命令详解
【Docker】基本命令详解
548 1

热门文章

最新文章