Redis的5种数据结构
A、 字符串类型 string
字符串类型是Redis中最基本的数据结构,它能存储任何类型的数据,包括二进制数据,序列化后的数据,JSON化的对象甚至是一张图片。最大512M。
B、 列表类型 list
Redis列表是简单的字符串列表,按照插入顺序排序,元素可以重复。你可以添加一个元素到列表的头部(左边)或者尾部(右边),底层是个链表结构。
C、 集合类型 set
Redis的Set是string类型的无序无重复集合。
D、 哈希类型 hash
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
E、 有序集合类型 zset (sorted set)
Redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。
不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。
拓展知识
特殊的数据类型:
- Bitmap:位图,可以认为是一个以位为单位数组,数组中的每个单元只能存0或者1,数组的下标在 Bitmap 中叫做偏移量。Bitmap的长度与集合中元素个数无关,而是与基数的上限有关。
- Hyperloglog。HyperLogLog 是用来做基数统计的算法,其优点是,在输入元素的数量或者体积非 常非常大时,计算基数所需的空间总是固定的、并且是很小的。典型的使用场景是统计独立访客。
- Geospatial :主要用于存储地理位置信息,并对存储的信息进行操作,适用场景如定位、附近的人 等。