前言
面试官:Redis 有哪几种数据类型?存储原理是什么?具体适应哪些应用场景?是否历历在目,这是 Redis 关于数据类型的面试 3 连问,是除“Redis 持续化”外的最常见 Redis 考题。
查谷歌众说纷纭
说法一:5 种
Redis 支持 5 种数据类型:
- String(字符串)
- List(列表)
- Set(集合)
- Sorted Set(有序集合)
- Hash(哈希)
这也是被行业普遍认可,最最常见的答案。至于这 5 种类型的详解,网上已经铺天盖地,这里不打算重复探讨,请读者自行温习。
说法二:6 种
包含了“说法一”的 5 种,还包含了:HyperLogLog(基数)。
也就是:String(字符串)、List(列表)、Set(集合)、Sorted Set(有序集合)、Hash(哈希)、HyperLogLog(基数)共 6 种。
说法三:9 种
包含了“说法二”的 6 种,还包含了:Bitmap(位集合)、Geospatial(地理空间索引)、Streams(流信息)3 种。
也就是:String(字符串)、List(列表)、Set(集合)、Sorted Set(有序集合)、Hash(哈希)、HyperLogLog(基数)、Bitmap(位集合)、Geospatial(地理空间索引)、Streams(流信息)共 9 种。
还有一说,并未包含 Streams(流信息),但是包含了 BloomFilter(布隆过滤器),这个不重要,但都称是 9 种,尚未见有 10 种的说法。
从官网找答案
英文官网:https://redis.io/,中文官网:http://www.redis.cn/,首页如下: