每日必会6

简介: Redis常见数据结构包括字符串、哈希、列表、集合、有序集合及地理空间索引。持久化机制有AOF和RDB,配合使用可防数据丢失,刷盘策略影响数据安全性。三大问题:缓存雪崩、穿透、击穿,需通过过期时间随机化、布隆过滤器、互斥锁等手段应对。

说下常见的Redis数据结构吧
1.字符串(String):最基本的数据结构,可以存储字符串、整数或者浮点数。
2.哈希(Hash):类似于关联数组,可以存储多个键值对,适合存储对象的属性。
3.列表(List):双向链表结构,支持从两端进行元素的插入和删除,适合做队列或者栈。
4.集合(Set):无序且不重复的元素集合,支持集合间的交集、并集和差集等操作。
5.有序集合(Sorted Set):类似于集合,但每个元素都会关联一个分数,可以按照分数进行排序。
6.地理空间索引(Geospatial Index):用于存储地理位置信息的数据结构,支持附近位置的搜索等功能。
7.Redis的持久化了解吗
8.了解过的面试官,主要是AOF和RDB,AOF是一种存储命令的持久化方式,可以借助于rewriteaof命令进行重写压缩以提高性能,而RDB存储的是一个二进制文件,两者一般是配合使用的,避免数据丢失。
9.并且持久化也跟刷盘机制有关,如果是always就不会丢失数据,everysecond最多丢一秒,如果是none交给系统就可能丢的多了。
10.Redis的三剑客
11.缓存雪崩(Cache Avalanche):指在某个时间段内,大量缓存数据同时失效,导致大量请求直接访问数据库,造成数据库压力剧增,甚至引起数据库宕机。缓存雪崩通常是由于缓存数据设置了相同的过期时间,导致在同一时间大量缓存同时失效引起的。
12.解决方法:可以在设置缓存时,给缓存数据的过期时间增加一个随机值,避免大量缓存同时失效;另外,可以使用热点数据预加载、限流等方式来缓解缓存雪崩的影响。
13.缓存穿透(Cache Penetration):指恶意请求或者不存在的数据频繁访问缓存,由于缓存中不存在该数据,每次请求都会直接访问数据库,导致数据库压力增大。
14.解决方法:可以在缓存中对于不存在的数据设置一个空值,或者使用布隆过滤器等方式来过滤恶意请求,避免直接访问数据库。
15.缓存击穿(Cache Breakdown):指针对某一热点数据,由于缓存数据过期或者被删除,导致大量请求直接访问数据库,造成数据库压力增大。
16.解决方法:可以在缓存失效时,使用互斥锁或者分布式锁来避免大量请求同时访问数据库,同时可以提前异步加载热点数据到缓存中,避免缓存失效时直接访问数据库。
17.理论专项
18.MySQL
19.索引数据结构
20.SQL优化
21.哪些场景会索引失效
22.如何定位慢查询
23.回表
24.覆盖索引
25.索引下推

相关文章
|
7天前
|
消息中间件 人工智能 决策智能
AgentScope x RocketMQ:构建多智能体应用组合
AgentScope是阿里巴巴推出的开发者友好型多智能体框架,支持模块化、可定制的智能体应用开发。通过集成RocketMQ,实现高效、可靠的A2A通信,助力构建如“智能旅行助手”等复杂协作场景,提升开发效率与系统可扩展性。(238字)
|
7天前
|
SQL 运维 分布式计算
如何做好SQL质量监控
SLS推出用户级SQL质量监控功能,集成于CloudLens for SLS,提供健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,帮助用户全面掌握SQL使用情况,实现精细化管理与性能优化,提升日志分析效率与体验。
|
7天前
|
NoSQL Shell Redis
Redis集群伸缩,转移插槽失败
Redis集群出现节点配置不一致,提示slot 0处于importing状态。需登录对应实例,执行`cluster setslot 0 stable`命令,将异常slot状态恢复稳定,修复后方可进行 rebalance 操作。注意根据实际slot ID调整命令参数。
|
7天前
|
运维 Devops 开发工具
生产环境缺陷管理
git-poison基于go-git实现,通过“投毒-解毒”机制在多分支环境中精准追踪bug,自动化阻塞带未修复bug的发布,降低协同成本,避免漏修、漏发问题,提升发布安全性与效率。
|
7天前
|
XML JSON Java
什么是RESTful
RESTful是一种基于资源的API设计规范,主张用URI唯一标识资源,通过HTTP动词(GET、POST、PUT、DELETE)操作资源,实现统一、标准的接口行为。它解决了传统接口路径混乱、行为不一致的问题,具有结构清晰、易于理解与扩展的优势。
|
7天前
|
Linux 数据安全/隐私保护 虚拟化
虚拟机安装(CentOS7)
准备CentOS7镜像及VMware Workstation(可从百度云下载),使用虚拟机创建工具新建虚拟机,参考知乎教程完成安装。默认登录用户为root,密码自设。详情见链接。
|
7天前
|
JSON 缓存 前端开发
什么是跨域
CORS(跨域资源共享)是W3C标准,允许浏览器向跨源服务器发送XMLHttpRequest请求,突破AJAX同源限制。需浏览器和服务器共同支持,现代浏览器均兼容,IE需≥10。通信由浏览器自动完成,开发者无需特殊处理。CORS分为简单请求与非简单请求,后者会先发起OPTIONS预检,验证通过后才执行实际请求。服务器通过设置Access-Control-开头的响应头实现控制。相比仅支持GET的JSONP,CORS支持所有HTTP方法,更为强大灵活。
|
7天前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队如何通过自动化部署平台实现多环境(dev/test/pre/prod)高效发布与运维,涵盖环境职责、CI/CD流程、分支管理、容器化部署及基于Skywalking的日志链路追踪,提升发布效率与系统稳定性。
|
7天前
|
存储 缓存 运维
一场FullGC故障排查
本文通过一次JDOS容器CPU告警排查,揭示了由Full GC引发的性能问题。通过对比机器与JVM监控,结合堆内存分析工具定位到大对象导致老年代频繁GC。进一步分析发现,Excel数据以List<Map>形式加载致内存膨胀,最终提出缓存优化与结构精简两种解决方案,并总结了线上CPU问题排查思路:重JVM监控、善用工具、精准定位代码根源。
|
7天前
|
存储 数据库
数据库设计三范式
数据库三范式简介:第一范式要求字段原子性,不可再分;第二范式在满足第一范式基础上,消除部分依赖,确保主键唯一确定非主键;第三范式消除传递依赖,避免非主键间相互决定。范式旨在减少数据冗余、提升一致性,但实际设计需结合业务需求灵活应用,不必生搬硬套。(238字)