Redis 是一种高性能的键值存储数据库,它支持多种数据类型,使得开发者能够灵活地存储和操作数据。
1. 字符串(String):
• Redis 最基本的数据类型,可以存储任何形式的字符串,包括文本、数字等。
• 支持多种操作,如SET、GET、INCR(自增)、DECR(自减)等。
2. 列表(List):
• 有序的字符串列表,可以从两端进行元素的添加(LPUSH、RPUSH)和移除(LPOP、RPOP)。
• 支持范围查询(如LRANGE)和列表长度获取(LLEN)。
3. 集合(Set):
• 无序的字符串集合,元素唯一,不允许重复。
• 支持集合操作,如添加(SADD)、移除(SREM)、判断元素是否存在(SISMEMBER)、集合合并(SUNION)、交集(SINTER)和差集(SDIFF)等。
4. 有序集合(Sorted Set):
• 与集合类似,但每个元素都关联一个分数(score),元素按分数自动排序。
• 支持操作如添加(ZADD)、范围查询(ZRANGE、ZREVRANGE)、分数获取(ZSCORE)、排名获取(ZRANK、ZREVRANK)等。
5. 哈希(Hash):
• 字段和值对集合,类似于 Python 中的字典或 Java 中的 HashMap。
• 支持字段的添加(HSET)、获取(HGET)、删除(HDEL)和字段值更新(HINCRBY)等操作。
6. 位图(Bitmap):
• 一种特殊的字符串类型,用于处理位级别的数据操作。
• 支持位设置(SETBIT)、位获取(GETBIT)、位计数(BITCOUNT)和位操作(如BITOP)等。
7. HyperLogLog:
• 一种用于基数估计的算法,适用于统计独立元素的数量。
• 支持添加元素(PFADD)和获取基数估计值(PFCOUNT)等操作。
8. 地理空间索引(Geospatial Index):
• 用于存储地理位置信息,支持地理空间查询。
• 支持添加地理位置(GEOADD)、获取地理位置(GEOPOS)、计算两个地理位置的距离(GEODIST)、获取附近地理位置(GEORADIUS)等操作。
9. 流(Stream):
• 一种用于处理消息队列和日志数据的数据结构。
• 支持添加消息(XADD)、读取消息(XREAD、XRANGE)、消费消息(XACK)和删除消息(XDEL)等操作。