面试知识1

zookpper
dubbon
redis

1.分布式锁,使用setnx来添加锁,设置过期时间,防止锁没有释放

2.数据结构  string hash list set zset

3.数据存储在内存中,通过持久化到磁盘

4.aof更安全,文件更大,回复会优先读取aof,rdb有触发条件

5.缓存穿透就是用户大量查询一个不存在的缓存,数据库也没有,但会一直查询,大量进行io交互,给数据库压力,1.可以设置不存在数据也缓存下来,给个比较短的时间,2.设置服务降级,熔断

6.缓存雪崩,就是缓存大批量的失效,倒是用户请求全部查询数据库,压力太大,1.设置热点缓存永不过期,服务降级


mysql索引

1.索引是种数据结构,能加快查询的速度

2.索引分为b+tree索引跟hash索引,hash索引是无序的,只适合等值查询,不支持排序,范围查询,最左匹配原则,而b+tree索引是多路平衡的结构,范围查询不用全表扫描

3.聚簇索引就是叶子节点存的是数据,非聚簇索引叶子节点存的是主键id,聚簇索引查询更快因为可以直接拿到数据,非聚簇索引拿到的是id,还会根据id去查,这就是回表,但是覆盖索引可以直接通过索引拿到数据,可以避免发生回表

4.最左匹配原则,索引建立要考虑到识别度问题,热度高的字段放前面,组建联合索引如(key1,key2,key3),相当于创建了(key1)、(key1,key2)和(key1,key2,key3)三个索引,这就是最左匹配原则

5.三范式 .第一范式(确保每列保持原子性), 第二范式(确保表中的每列都和主键相关) ,第三范式(确保每列都和主键列直接相关,而不是间接相关)


数据库连接池
线程池


mybatis一级二级缓存

一级缓存默认开启,是对sqlsession的缓存,第一次查询会生成缓存,之后查询如果没变,且数据没有更新等操作,就是直接查询获取缓存

二级缓存需要手动开启,配置xml的cache标签 是对mapper的操作,同一级缓存,也会第一次查询生成缓存,之后查询先去差缓存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值