『Java』2020上半年Java面试题总结,20多类1100道面试题含答案解析!( 四 )
2、InnoDB(B+树)
InnoDB 底层存储结构为B+树 ,B树的每个节点对应innodb的一个page ,page大小是固定的 , 一般设为 16k 。 其中非叶子节点只有键值 , 叶子节点包含完成数据
适用场景:
1)经常更新的表 , 适合处理多重并发的更新请求 。
2)支持事务 。
3)可以从灾难中恢复(通过 bin-log 日志等) 。
4)外键约束 。 只有他支持外键 。
5)支持自动增加列属性 auto_increment 。
3、TokuDB( Fractal Tree-节点带数据)
TokuDB 底层存储结构为 Fractal TreeFractal Tree 的结构与 B+树有些类似 在 Fractal Tree中 ,每一个 child 指针除了需要指向一个 child节点外 , 还会带有一个 Message Buffer, 这个Message Buffer 是一个 FIFO 的队列 , 用来缓存更新操作 。
例如 , 一次插入操作只需要落在某节点的 Message Buffer 就可以马上返回了 , 并不需要搜索到叶子节点 。 这些缓存的更新会在查询时或后台异步合并应用到对应的节点中 。
TokuDB 在线添加索引 , 不影响读写操作 非常快的写入性能 ,Fractal-tree 在事务实现上有优势 。它主要适用于访问频率不高的数据或历史数据归档 。
Redis面试题50道
1、什么是 Redis?
Redis 是完全开源免费的 , 遵守 BSD 协议 , 是一个高性能的 key-value 数据库 。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis 支持数据的持久化 , 可以将内存中的数据保存在磁盘中 , 重启的时候可以再次加载进行使用 。
Redis 不仅仅支持简单的 key-value 类型的数据 , 同时还提供 list , set , zset , hash 等数据结构的存储 。
Redis 支持数据的备份 , 即 master-slave 模式的数据备份 。
Redis 优势
性能极高 – Redis 能读的速度是 110000 次/s写的速度是 81000 次/s。 丰富的数据类型 – Redis 支持二进制案例的 Strings Lists HashesSets 及Ordered Sets 数据类型操作 。
原子 – Redis 的所有操作都是原子性的 , 意思就是要么成功执行要么失败完全不执行 。 单个操作是原子性的 。 多个操作也支持事务 , 即原子性 , 通过 MULTI 和 EXEC指令包起来 。
丰富的特性 – Redis 还支持 publish/subscribe 通知 key 过期等等特性 。
2、Redis 与其他 key-value 存储有什么不同?
Redis 有着更为复杂的数据结构并且提供对他们的原子性操作 , 这是一个不同于其他数据库的进化路径 。 Redis 的数据类型都是基于基本数据结构的同时对程序员透明 , 无需进行额外的抽象 。 Redis 运行在内存中但是可以持久化到磁盘 , 所以在对不同数据集进行高速读写时需要权衡内存 , 因为数据量不能大于硬件内存 。 在内存数据库方面的另一个优点是 , 相比在磁盘上相同的复杂的数据结构 , 在内存中操作起来非常简单 , 这样 Redis可以做很多内部复杂性很强的事情 。 同时 , 在磁盘格式方面他们是紧凑的以追加的方式产生的 , 因为他们并不需要进行随机访问 。
3、Redis 的数据类型?
Redis 支持五种数据类型:string(字符串) , hash(哈希) , list(列表) , set(集合)及 zsetsorted set:有序集合) 。
我们实际项目中比较常用的是 string , hash 如果你是 Redis 中高级用户 , 还需要加上下面几种数据结构 HyperLogLog、Geo、Pub/Sub 。
推荐阅读
- 科技犬君|vs 索尼A9G 谁强?,上半年用户喜爱手机盘点;小米电视大师65英寸OLED
- 精选泛科技|结果如何?,一加8续航遭质疑:上半年最全机型横评出炉
- 世界人工智能大会|距离2020世界人工智能大会云端峰会开幕还有4天!
- 程序员■Java程序员必知:HashMap进行put操作会不会引起死循
- 「小米科技」2020年烂大街的3部手机,你在使用哪一部?
- 燃财经|我为什么不想奋斗了,8位互联网人讲述:2020年
- 爱云资讯|China,百度智能云工业视觉智能平台宣布重磅升级,聚焦2020Vision
- 烟雨沫痕|2020年在美国,混成了什么样,“宁可死在美国也不回国”的罗玉凤
- 『华为』上半年手机性能榜单:华为全军覆没,最大赢家令人意外
- 【联想】2020年4000元左右的性价比高的笔记本电脑推荐,看看哪款是您的“菜”
