1.b+树索引页字节点可以存地址吗
当数据库表进行DML操作时,同一行记录的页地址会发生改变,因非主键索引保存的是主键的值,无需进行更改。
2.https与http的区别
对称加密+非对称加密+CA认证构成https
HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击
非对称加密的密码对生成和加密的消耗时间比较长,为了节省双方的计算时间,通常只用它来交换密钥,而非直接用来传输数据。
CA可以很大程度上保证与自己交互的网站是合法的。
对称加密用来交换数据,非对称加密用来交换密钥,CA保证网站合法。
3.sential限流策略
监控应用流量的 QPS 或并发线程数等指标
4.starter原理
5.数据库缓存一致性问题 redis和mysql 缓存故障
降级方案,数据库层次预留足够的容量,缓存出现问题时,可以让应用暂时回溯到数据库继续业务逻辑。
我们能放入缓存的数据本就不应该是实时性、一致性要求超高的。所以缓存数据的时候加上过期时间,保 证每天拿到当前最新数据即可。
遇到实时性、一致性要求高的数据,就应该查数据库,即使慢点。
6.redis分布式锁 存在问题
https://www.cnblogs.com/haibiscuit/p/12699233.html
7.spring拦截器和过滤器的区别
过滤器:依赖于servlet容器。在实现上基于函数回调
拦截器:不依赖与servlet容器,依赖于web框架。一个Spring组件,并由Spring容器管理,并不依赖Tomcat等容器,是可以单独使用的。实现上基于Java的反射机制,属于面向切面编程(AOP)的一种运用。只能对controller请求进行拦截
7.mvcc多版本并发控制
主要是为了提高数据库并发性能,用更好的方式去处理读-写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读
多版本并发控制(MVCC)是一种用来解决读-写冲突的无锁并发控制,也就是为事务分配单向增长的时间戳,为每个修改保存一个版本,版本与事务时间戳关联,读操作只读该事务开始前的数据库的快照。