Redis 支持多种数据类型,这些数据类型提供了丰富的功能,可以满足不同应用场景的需求。以下是 Redis 支持的主要数据类型:
-
字符串(String):
- 最基本的数据类型。
- 可以存储任何形式的字符串,包括二进制数据。
- 常见操作:
SET
,GET
,INCR
,DECR
,APPEND
等。 - 一个 String 类型的值最大可以是 512MB。
-
哈希(Hash):
- 由字段(field)和关联的值(value)组成的一个映射表。
- 适合存储对象,例如用户信息、产品详情等。
- 常见操作:
HSET
,HGET
,HMGET
,HDEL
,HKEYS
,HVALS
等。 - 每个 Hash 可以存储超过 40 亿个键值对。
-
列表(List):
- 按照插入顺序排序的字符串元素集合。
- 允许在列表两端进行快速的插入或删除操作。
- 常见操作:
LPUSH
,RPUSH
,LPOP
,RPOP
,LRANGE
等。 - 每个列表可以存储超过 40 亿个元素。
-
集合(Set):
- 不重复的无序字符串集合。
- 支持成员关系测试、交集、并集、差集等操作。
- 常见操作:
SADD
,SREM
,SMEMBERS
,SINTER
,SUNION
等。 - 每个集合可以存储超过 40 亿个元素。
-
有序集合(Sorted Set):
- 类似于集合,但每个元素都关联了一个分数(score),用来排序。
- 支持按分数范围查询、更新分数等操作。
- 常见操作:
ZADD
,ZREM
,ZRANGE
,ZREVRANGE
,ZSCORE
等。 - 每个有序集合也可以存储超过 40 亿个元素。
-
位图(Bitmaps):
- 基于 String 类型实现的一种特殊形式。
- 允许对字符串的单个位进行操作。
- 适用于统计、签到等场景。
- 常见操作:
SETBIT
,GETBIT
,BITCOUNT
,BITOP
等。
-
地理空间索引(Geospatial Indexes):
- 存储地理位置信息,并支持基于位置的查询,如查找附近的地点。
- 常见操作:
GEOADD
,GEORADIUS
,GEODIST
等。
-
流(Streams):
- 类似于消息队列,用于记录日志或者事件流。
- 提供了发布订阅功能,支持持久化和消费组的概念。
- 常见操作:
XADD
,XRANGE
,XREAD
,XGROUP
等。
-
HyperLogLog:
- 一种概率数据结构,用于基数估计。
- 适用于需要统计大量不重复元素数量的场景。
- 常见操作:
PFADD
,PFCOUNT
,PFMERGE
等。
每种数据类型都有其特定的操作命令集,通过这些命令可以高效地管理和处理不同类型的数据。Redis 的多功能性和灵活性使其成为众多应用程序中不可或缺的一部分。