redis相关数据类型介绍

当然,Redis 作为一个高性能的键值存储系统,提供了多种数据类型来支持不同的应用场景。

  1. String(字符串)

• 定义:Redis 最基本的数据类型,用于存储字符串值。

• 操作:SET、GET、INCR、DECR、APPEND、STRLEN 等。

• 用途:缓存、计数器、会话存储等。

  1. List(列表)

• 定义:一个有序的字符串列表,可以从两端添加或移除元素。

• 操作:LPUSH、RPUSH、LPOP、RPOP、LRANGE、LLEN、LINDEX、LINSERT、LREM、LTRIM 等。

• 用途:消息队列、栈、滑动窗口等。

  1. Set(集合)

• 定义:一个无序的字符串集合,元素唯一,不允许重复。

• 操作:SADD、SREM、SMEMBERS、SISMEMBER、SCARD、SMOVE、SUNION、SINTER、SDIFF 等。

• 用途:标签、去重、交集/并集/差集运算等。

  1. Sorted Set(有序集合)

• 定义:与集合类似,但每个元素都会关联一个分数(score),元素按分数排序。

• 操作:ZADD、ZREM、ZRANGE、ZREVRANGE、ZRANGEBYSCORE、ZREVRANGEBYSCORE、ZCOUNT、ZRANK、ZSCORE、ZINCRBY 等。

• 用途:排行榜、延迟队列、范围查询等。

  1. Hash(哈希)

• 定义:一个包含键值对的集合,其中键和值都是字符串类型。

• 操作:HSET、HGET、HGETALL、HDEL、HEXISTS、HLEN、HINCRBY、HINCRBYFLOAT、HKEYS、HVALS 等。

• 用途:对象存储、用户信息等。

  1. Bitmaps(位图)

• 定义:虽然不是 Redis 的原生数据类型,但可以通过字符串类型实现位级别的操作。

• 操作:SETBIT、GETBIT、BITCOUNT、BITOP、BITPOS 等。

• 用途:布隆过滤器、统计独立用户数(UV)、权限控制等。

  1. HyperLogLog(基数统计)

• 定义:一种用于估算数据集合中不同元素数量的概率数据结构。

• 操作:PFADD、PFCOUNT、PFMERGE 等。

• 用途:大数据集的独立用户数(UV)统计等。

  1. Geospatial(地理空间)

• 定义:用于存储地理位置信息,并支持地理空间查询。

• 操作:GEOADD、GEOPOS、GEODIST、GEORADIUS、GEORADIUSBYMEMBER 等。

• 用途:附近地点查询、地理围栏等。

  1. Stream(流)

• 定义:Redis 5.0 引入的数据类型,用于构建日志系统、消息队列等。

• 操作:XADD、XREAD、XRANGE、XREVRANGE、XGROUP、XACK、XCLAIM、XDEL 等。

• 用途:日志收集、实时消息处理、事件驱动架构等。

这些数据类型使得 Redis 能够灵活地应用于各种场景,从简单的缓存到复杂的实时数据处理系统。每种数据类型都有其特定的操作集和用途,开发者可以根据实际需求选择合适的数据类型。

相关推荐
Bug收容所12 小时前
12305项目学习day5
java·spring boot·redis·mysql·spring·rocketmq
智码看视界12 小时前
Day33-数据层 × 中间件AI化篇:Redis缓存经典问题-击穿、穿透、雪崩的终极解决方案
数据库·redis·缓存·中间件·穿透·雪崩·击穿
后端观测站1 天前
第九章:Redis 为什么会发生缓存穿透、击穿、雪崩?
redis
海兰1 天前
【高速缓存】RedisVL 存储类型选择指南:Hash 与 JSON
人工智能·redis·算法·缓存·json·哈希算法
Devin~Y1 天前
互联网大厂 Java 面试实录:Spring Boot、MyBatis、Redis、Kafka、Spring Security、RAG 与 MCP 全链路问答
java·redis·kafka·mybatis·spring security·spring mvc·sprint boot
海兰2 天前
【高速缓存】RedisVL 索引迁移指南:安全演进索引结构
前端·数据库·redis·安全·缓存·bootstrap
海兰2 天前
【高速缓存】 RedisVL MCP 运行指南(下)
人工智能·redis·哈希算法·高速缓存
hold?fish:palm2 天前
kv存储主从复制的设计与实现
c++·redis·后端
不如语冰2 天前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
程序员天天困2 天前
Java 项目用 Single-flight 一招终结 AI 接口重复调用
redis·后端