redis数据类型介绍
1. String(字符串):
• Redis 最基本的数据类型。
• 可以存储任何形式的字符串,包括二进制数据。
• 支持多种操作,如SET、GET、APPEND、INCR(自增)、DECR(自减)等。
• 可以用于缓存、计数器、会话存储等场景。
2. List(列表):
• 有序的字符串列表,可以从两端进行插入和弹出操作。
• 支持操作如LPUSH(左推入)、RPUSH(右推入)、LPOP(左弹出)、RPOP(右弹出)等。
• 可以作为队列、栈等数据结构使用。
• 列表的最大长度由配置list-max-ziplist-size决定,超过该长度会转换为另一种内部表示。
3. Set(集合):
• 无序的字符串集合,元素唯一。
• 支持操作如SADD(添加元素)、SREM(移除元素)、SMEMBERS(获取所有元素)等。
• 可以用于实现交集、并集、差集等操作,如SINTER、SUNION、SDIFF。
• 适用于去重、标签存储等场景。
4. Sorted Set(有序集合):
• 与集合类似,但每个元素都关联一个分数,元素按分数排序。
• 支持操作如ZADD(添加元素及分数)、ZRANGE(按分数范围获取元素)、ZREM(移除元素)等。
• 可以用于实现排行榜、范围查询等场景。
• 内部使用跳表(skip list)和字典(dict)实现,保证了高效的插入、删除和查找操作。
5. Hash(哈希):
• 字段和值对的集合,类似于 Python 中的字典或 Java 中的HashMap。
• 支持操作如HSET(设置字段值)、HGET(获取字段值)、HDEL(删除字段)等。
• 可以用于存储结构化数据,如用户信息、配置参数等。
• 内部使用压缩列表(ziplist)或字典(dict)存储,根据元素数量自动转换。
6. Bitmaps(位图):
• 不是一种独立的数据类型,但 Redis 提供了位级别的操作。
• 可以对字符串的每一位进行SET、GET、BITCOUNT(统计位为 1 的数量)等操作。
• 适用于需要位级别操作的应用,如用户签到、布隆过滤器等。
7. HyperLogLog(基数估计):
• 用于估计集合中不同元素的数量,适用于大数据集。
• 支持操作如PFADD(添加元素)、PFCOUNT(估计数量)等。
• 提供了空间效率极高的基数估计算法,但有一定的误差率。
8. Geospatial(地理空间):
• 用于存储地理位置信息,支持地理空间查询。
• 支持操作如GEOADD(添加地理位置)、GEORADIUS(按半径查询地理位置)、GEOHASH(获取地理位置的 geohash 表示)等。
• 适用于需要地理位置查询的应用,如附近地点搜索等。
9. Streams(流):
• 用于处理消息队列和日志数据。
• 支持操作如XADD(添加消息)、XREAD(读取消息)、XGROUP(创建消费者组)、XACK(确认消息已处理)等。
• 提供了持久化、消息确认、消费者组等高级特性,适用于构建复杂的消息处理系统。
原文地址:https://blog.csdn.net/weixin_57763462/article/details/143636274
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!