redis数据类型

Redis是一个高性能的键值存储数据库。它支持多种数据类型,如下:

  1. 字符串(Strings):这是Redis最简单的类型,你可以在键上存储字符串、整数或者浮点数,字符串类型是二进制安全的。可以包含任何数据,例如 JPEG 图片或者序列化的对象。

  2. 哈希(Hashes):这是一个字符串字段和字符串值之间的映射表,它的添加、删除操作都是 O(1)(常数时间复杂度)。哈希特别适合用于存储对象。

  3. 列表(Lists):这是一个字符串的链表,最多可以存储 2^32 - 1 个元素 (4294967295, 每个列表可存储40多亿)。列表的两端插入或删除操作快,不论列表有多长。

  4. 集合(Sets):这是一个无序且唯一的字符串集合,通过哈希表实现,所以添加、删除、查找的复杂度都是 O(1)。

  5. 有序集合(Sorted Sets,也叫Zsets):和Sets类似,它也是字符串的集合,同样是无序的,不同的是每个元素都会关联一个double类型的分数。Redis根据分数来为集合中的成员进行从小到大的排序。

  6. 位图(Bitmaps):实际上就是特殊用法的字符串,通过这种类型,你可以对字符串的指定位进行操作。

  7. HyperLogLogs:这是一种用来做基数统计的算法,Redis提供了这种数据类型,可以用来统计唯一值(比如统计"每天有多少不同的用户访问过网站")。

  8. 流(Streams):Redis 5.0引入了流,这是一种复杂的日志类型的数据结构。流主要用来解决数据的增量收集和传播,它是一个不可变的、仅支持追加的字符串数组。

每种类型的键都有其特定的操作,比如,你可以对字符串进行追加操作,对列表进行推入/弹出操作,对集合进行交集、并集操作等等。

你可能感兴趣的:(常见面试问题,redis,数据库,缓存)