Redis 支持多种类型的数据存储,每种类型都可以用于不同的场景和需求。下面是 Redis 支持的主要数据存储类型:
1. String(字符串)
- 类型简介:字符串是 Redis 中最简单的数据类型,可以包含任何数据,如文本、数字、二进制数据等。
- 常用命令:
SET key value
:设置键值对GET key
:获取键值INCR key
:数字递增DECR key
:数字递减APPEND key value
:将字符串追加到已有值后
2. List(列表)
- 类型简介:Redis 列表是一个简单的字符串列表,按插入顺序排序。可以在列表的两端进行插入和删除操作。
- 常用命令:
LPUSH key value
:将元素添加到列表的左侧RPUSH key value
:将元素添加到列表的右侧LPOP key
:从列表的左端弹出元素RPOP key
:从列表的右端弹出元素LRANGE key start stop
:获取指定范围的元素
3. Set(集合)
- 类型简介:集合是一个无序的字符串集合,集合中的元素是唯一的,不能重复。
- 常用命令:
SADD key member
:向集合中添加元素SREM key member
:从集合中删除元素SMEMBERS key
:获取集合中的所有成员SISMEMBER key member
:检查元素是否在集合中
4. Sorted Set(有序集合)
- 类型简介:有序集合是集合的扩展,它为每个元素关联一个分数(score),元素会根据分数排序。每个元素在集合中是唯一的。
- 常用命令:
ZADD key score member
:添加元素及其分数ZRANGE key start stop
:返回指定范围的元素(按分数排序)ZREM key member
:删除指定成员ZINCRBY key increment member
:增加指定成员的分数
5. Hash(哈希)
- 类型简介:哈希是一种键值对集合,类似于字典或映射。每个哈希表都有一个名称和多个字段,可以高效地存储对象的属性。
- 常用命令:
HSET key field value
:设置哈希字段的值HGET key field
:获取哈希字段的值HGETALL key
:获取哈希表中的所有字段和值HDEL key field
:删除哈希表中的字段
6. Bitmaps(位图)
- 类型简介:位图是一种特殊的字符串类型,用于对二进制位进行操作。它非常高效地进行位级操作,适合用于计数和统计。
- 常用命令:
SETBIT key offset value
:设置位图的某一位GETBIT key offset
:获取位图的某一位BITCOUNT key
:统计位图中为 1 的位的数量
7. HyperLogLog(超日志)
- 类型简介:HyperLogLog 是一种用于基数估算的数据结构,特别适用于大数据量时进行唯一元素计数,而不需要存储全部元素。
- 常用命令:
PFADD key element
:添加元素到 HyperLogLogPFCOUNT key
:获取 HyperLogLog 中的基数(估算的唯一元素数量)
8. Geospatial(地理空间)
- 类型简介:Redis 支持存储和查询地理位置数据,可以进行地理位置的存储、距离计算、区域查询等操作。
- 常用命令:
GEOADD key longitude latitude member
:添加地理位置GEOPOS key member
:获取地理位置成员的经纬度GEODIST key member1 member2
:计算两个成员之间的距离
9. Streams(流)
- 类型简介:Redis Streams 是 Redis 5.0 引入的一种新的数据类型,用于处理消息队列的需求,支持高效的流数据存储和消费。
- 常用命令:
XADD key * field value
:添加一条消息到流XREAD
:读取流中的消息XGROUP CREATE
:创建消费者组
总结:
Redis 提供了丰富的数据存储类型,能够支持多种场景的需求,如缓存、队列、统计、实时数据处理等。选择合适的数据结构,可以极大提高应用的性能和灵活性。