数据库 20 / 255 题

本地缓存是什么如何和redis结合来解决缓存穿透

本地缓存是运行在应用进程内的缓存,数据存在应用自己的内存中,不需要网络请求,速度极快。大白话:Redis 像小区公共储物柜,要下楼去拿;本地缓存像你抽屉,伸手就拿到。常见实现Java:Caffeine、Guava...

简答 简单
admin 06-03

Redis缓存穿透

什么是缓存穿透?查询一个数据库和缓存中都不存在的数据,每次请求都直接打到数据库,缓存形同虚设。大白话:小偷来偷东西,你家里没有,保险箱里也没有,结果每次都跑去银行查一遍,银行被跑烦了。原因有三个:业务参数没校验、恶意攻击用不存在的...

简答 简单
admin 06-03

Redis既然那么快,为什么不用它做主数据库,只用它做缓存?

Redis 虽然快,但不能做主数据库,原因有6个:一是内存成本极高,1TB 内存比磁盘贵几十倍,大数据量扛不住;二是持久化不可靠,RDB 可能丢几分钟数据,AOF 最多丢1秒,不如 MySQL...

简答 简单
admin 06-03

redis为什么快

Redis 快主要有7个原因:一是基于内存,纳秒级读写,最根本的原因;二是单线程无锁,没有上下文切换和锁竞争开销;三是IO 多路复用...

简答 简单
admin 06-03

为什么Redis 6.0 之后改多线程呢?

Redis 6.0 引入多线程是因为单线程的瓶颈从 CPU 转移到了网络 IO,10Gbps 网卡下单线程根本吃不满带宽。所以 Redis...

简答 简单
admin 06-03

为什么redis 是单线程的

Redis 单线程是因为瓶颈不在 CPU 而在网络 IO 和内存,内存操作本身就是微秒级,单线程每秒也能 10万+ QPS,够用了。多线程会带来上下文切换开销和锁竞争问题,反而可能更慢。而且单线程没有并发问题,代码简单好维护。不过从...

简答 简单
admin 06-03

redis版本对比,新特性

Redis 版本核心特性:3.0 出了 Redis Cluster 官方集群方案,16384 槽位分片,告别单机时代;4.0 引入模块系统和混合持久化,模块让 Redis 可以装扩展插件(如...

简答 简单
admin 06-03

redis与memcache的对比

Redis 和 Memcached 的核心区别:数据结构上,Redis 支持五种基本类型加多种特殊类型,Memcached 只有简单 KV;持久化上,Redis 支持 RDB 快照和 AOF 日志落盘,Memcached...

简答 简单
admin 06-03

redis数据结构

Redis 有五种基本数据类型:String 存单个值,做缓存、计数器、分布式锁;List 是有序可重复列表,做消息队列和时间线;Hash 是键值对集合,存对象比 String 灵活,可以单独改某个字段;Set...

简答 简单
admin 06-03

nosql介绍

NoSQL 是非关系型数据库,不要求固定表结构和 SQL 查询。主要分四类:键值型如 Redis,适合缓存和会话,读写极快;文档型如 MongoDB,存 JSON 文档,字段灵活,适合内容管理和日志;列族型如...

简答 简单
admin 06-03

redis介绍

Redis是开源的内存键值数据库(Remote Dictionary...

简答 简单
admin 06-03

redis缓存项目场景

电商平台 详情数据String、Hash例如,商品ID为1001的详情可以缓存为SET product:1001 '{"id":1001,"name":"手机","price":2999}' EX...

简答 困难
admin 06-03

Mysql触发器?如何使用

MySQL触发器是一种与表事件关联的特殊存储过程,当指定表发生INSERT、UPDATE或DELETE操作时自动触发执行,用于实现数据一致性、自动化任务等场景。事件驱动绑定表的操作事件:INSERT、UPDATE、DELETE。执行时...

简答 中等
admin 05-17

Mysql for update锁如何使用

For update在事务中生效START TRANSACTION; -- 或 BEGIN SELECT * FROM table_name WHERE condition FOR UPDATE; -- 加锁 --...

简答 中等
admin 05-17

Mysql如何开启事务并使用

SET TRANSACTION ISOLATION LEVEL READ COMMITTED; -- 设置隔离级别 START TRANSACTION; 在事务中设置检查点,部分回滚: SAVEPOINT point1; --...

简答 中等
admin 05-17

存储过程-原子性能保障吗

MySQL 存储过程默认不保证原子性,但可通过 START TRANSACTION 显式开启事务,确保操作全成功或全失败CREATE PROCEDURE transfer_funds() BEGIN START...

简答 困难
admin 05-17

Mysql存储过程是什么?如何使用?

MySQL存储过程是一组预编译的SQL语句集合,存储在数据库中,可通过名称重复调用。它支持参数传递、流程控制(如条件判断、循环)和复杂业务逻辑封装,类似编程中的函数。性能提升首次执行时编译并缓存,后续调用直接执行,减少SQL解析开销。...

简答 困难
admin 05-17

b+树是啥-小白面试

想象一家超大型图书馆:根节点:像图书馆的总目录,记录每个大分类(如“科技类”“文学类”)的位置。内部节点:像每个区域的分目录(比如“科技类-计算机书区”),只记录更细分的书架编号。叶子节点:就是真正的书架,存放每一本书(数据行),且书...

简答 困难
admin 05-17

b+树是啥

MySQL中的B+树是一种专为磁盘存储优化的多路平衡查找树,作为InnoDB引擎的核心索引结构,通过减少磁盘I/O次数和高效支持范围查询来提升数据库性能。

简答 困难
admin 05-17

索引的底层 - 索引的数据结构

B+树索引(主流选择)哈希索引(仅Memory引擎支持)

简答 困难
admin 05-17
7 / 13 页(共 255 题)
每页 20 50 100