自学内容网 自学内容网

redis数据类型介绍

1d097c5a581a43cf98c875822360de7c.jpg

 

 

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)!