Redis是一种开源的、基于内存的键值存储数据库,它支持多种类型的数据结构。

Redis支持的一些主要数据类型:

(前五种是注意使用的类型)

  1. 字符串(String)
    • 最基本的类型。
    • 可以包含任何形式的数据,比如jpeg图像或者序列化的对象。
    • 一个键最大能存储512MB。
  2. 列表(List)
    • 简单的字符串列表,按照插入顺序排序。
    • 可以添加一个元素到列表的头部(左边)或者尾部(右边)。
  3. 集合(Set)
    • 字符串类型的无序集合。
    • 被包含的字符串是唯一的,不允许重复的成员。
    • 提供基本的集合操作,如添加、删除和检测成员是否存在等。
  4. 有序集合(Sorted Set)
    • 不仅每个元素都是唯一的,每个元素还会关联一个double类型的分数。
    • Redis正是通过分数来为集合中的成员进行从小到大的排序。
    • 不同的元素可以有相同的分数。
  5. 哈希(Hash)
    • 哈希是键值对集合。
    • 是字符串字段和字符串值之间的映射,适用于存储对象。
  6. 位图(Bitmap)
    • 实际上是字符串,但可以操作字符串的位,进行位级别的操作。
    • 适用于统计和其他需要位运算的场景。
  7. 超日志(HyperLogLog)
    • 用来做基数统计的算法。
    • HyperLogLog可以接受多个元素作为输入,并给出输入元素的近似唯一元素数量。
  8. 地理空间(Geo)
    • 可以存储地理位置信息,并且能够对这些信息进行操作,比如计算两点之间的距离,查找某个半径内的元素等。
  9. 流(Stream)
    • Redis Streams是Redis 5.0中引入的一个新的数据类型。
    • 它是一个日志类型的数据结构,可以存储多个字段的消息,消息存储在流中的顺序是严格按照时间顺序的。
    • 流主要用于消息队列(MQ)功能,支持多个消费者消费同一个消息流中的消息,而不会像列表那样,一旦消息被消费就被删除。

Redis的这些数据类型提供了丰富的数据结构来满足不同的业务需求,可以高效地处理各种类型的数据。