非关系型数据库在大数据领域的应用非常广泛,比如之前说到的 HBase ,他能适用于很多的场景,解决各种大数据的难题,但是它不是万能的,磁盘 IO 是他的主要瓶颈,在实时性要求更高的场景下,内存数据库 Redis 就显现出了它的优势了,做过 web 开发的同学对 Redis 肯定不陌生,它丰富的数据结构和优秀的读写性能同样征服了大数据领域的开发者们。
本篇面试内容划重点:数据结构、持久化、高性能
你为什么选择 Redis? 开篇先来个灵魂发问,这个问题可以从两个方面回答,数据结构丰富和高并发高性能,所以场景丰富。这两个方面也是本篇内容讲解的重点,详细答案就在文中。
数据结构
数据结构这块,主要考察大家对结构的了解和应用场景,更深层次的会涉及到 BitMap、BloomFilter、Hyperloglog 等相关的内容,概念型的问题考察的是基础,应用型的问题考察的是你的实战能力。
基础数据类型?
字符串(String):底层是动态字符串(Simple Dynamic String 简称 SDS)结构。 它的内部维护着一个字节数组,并且在其内部预分配了一定的空间,