
Redis 五种核心数据类型详解附语法场景练习命令速记文章目录Redis 五种核心数据类型详解附语法场景练习命令速记1. String字符串常用命令完整练习调用所有命令 注释命令快速复习2. Hash哈希常用命令完整练习调用所有命令 注释命令快速复习3. List列表常用命令完整练习调用所有命令 注释命令快速复习4. Set集合常用命令完整练习调用所有命令 注释命令快速复习5. ZSet有序集合常用命令完整练习调用所有命令 注释命令快速复习总结1. String字符串String 是 Redis 最基础的数据类型本质是二进制安全的字符串可存储文本、数字、序列化对象等单个值最大支持 512MB。特点支持原子操作是所有类型的基础。常用命令SET key value GET key MSET k1 v1 k2 v2 MGET k1 k2 SETNX key value INCR key DECR key INCRBY key 步长 DECRBY key 步长 SET key value EX 秒 NX完整练习调用所有命令 注释# 1. 设置单个键值 SET name Redis # 2. 获取单个值 GET name # 3. 批量设置多个键 MSET age 20 city beijing # 4. 批量获取多个值 MGET age city # 5. 不存在才设置分布式锁常用 SETNX name MySQL SETNX author zhangsan # 6. 数字自增 SET count 10 INCR count # 7. 数字自减 DECR count # 8. 按步长增加 INCRBY count 5 # 9. 按步长减少 DECRBY count 3 # 10. 设置带过期时间且不存在才赋值 SET token 123456 EX 60 NX命令快速复习单值读写用 SET/GET批量操作 MSET/MGETNX 不存在赋值INCR/DECR 原子增减EX 附加过期时间全覆盖字符串核心操作。2. Hash哈希Hash 是键值对集合适合存储对象型数据可理解为“Redis 中的字典”。特点单个 key 对应多个 field-value 对支持按字段单独读写节省内存且操作高效。常用命令HSET key field value HGET key field HMSET key f1 v1 f2 v2 HMGET key f1 f2 HGETALL key HSETNX key field value HDEL key field HINCRBY key field 步长 HLEN key完整练习调用所有命令 注释# 1. 设置单个字段 HSET user:1 name zhangsan # 2. 获取单个字段 HGET user:1 name # 3. 批量设置多个字段 HMSET user:1 age 20 email zsqq.com # 4. 批量获取多个字段 HMGET user:1 age email # 5. 获取所有字段和值 HGETALL user:1 # 6. 字段不存在才设置 HSETNX user:1 name lisi HSETNX user:1 phone 123456 # 7. 删除字段 HDEL user:1 email # 8. 字段值自增 HINCRBY user:1 age 2 # 9. 获取字段数量 HLEN user:1命令快速复习Hash 操作全带 H单字段 HSET/HGET批量 HMSET/HMGET全量查询 HGETALLHSETNX 字段互斥HDEL 删除字段HINCRBY 字段自增HLEN 统计字段数。3. List列表List 是有序、可重复的字符串列表底层采用双向链表实现支持两端快速增删。特点按插入顺序排序支持头/尾操作适合实现队列与栈结构。常用命令LPUSH key v1 v2 RPUSH key v1 v2 LPOP key RPOP key LRANGE key start stop BLPOP key 超时秒 BRPOP key 超时秒完整练习调用所有命令 注释# 1. 左侧插入元素 LPUSH msg hello # 2. 右侧插入元素 RPUSH msg world redis # 3. 左侧弹出元素 LPOP msg # 4. 右侧弹出元素 RPOP msg # 5. 查看列表所有元素 LRANGE msg 0 -1 # 6. 阻塞式左侧弹出 BLPOP msg 5 # 7. 阻塞式右侧弹出 BRPOP msg 5命令快速复习左插 LPUSH、右插 RPUSH左弹 LPOP、右弹 RPOPLRANGE 遍历列表B 开头为阻塞弹出适配队列、栈有序场景。4. Set集合Set 是无序、不可重复的字符串集合底层采用哈希表实现支持高效的成员判断与集合运算。特点自动去重成员无序交集/并集/差集操作高效。常用命令SADD key m1 m2 SREM key m1 SMEMBERS key SISMEMBER key m1 SCARD key SINTER s1 s2 SUNION s1 s2 SDIFF s1 s2 SINTERSTORE dest s1 s2 SUNIONSTORE dest s1 s2 SDIFFSTORE dest s1 s2完整练习调用所有命令 注释# 1. 添加元素 SADD user:1 a b c d # 2. 删除元素 SREM user:1 d # 3. 查看所有元素 SMEMBERS user:1 # 4. 判断元素是否存在 SISMEMBER user:1 a # 5. 获取元素个数 SCARD user:1 # 6. 准备第二个集合 SADD user:2 a b e f # 7. 求交集 SINTER user:1 user:2 # 8. 求并集 SUNION user:1 user:2 # 9. 求差集 SDIFF user:1 user:2 # 10. 交集存入新集合 SINTERSTORE user:common user:1 user:2 # 11. 并集存入新集合 SUNIONSTORE user:all user:1 user:2 # 12. 差集存入新集合 SDIFFSTORE user:diff user:1 user:2命令快速复习Set 操作均带 SSADD 增、SREM 删SMEMBERS 查全部SISMEMBER 判存在SCARD 统计数量SINTER交集、SUNION并集、SDIFF差集STORE 后缀固化运算结果。5. ZSet有序集合ZSet 是有序、不可重复的字符串集合每个成员关联一个分数score按分数自动排序。特点成员唯一分数可重复支持按分数范围查询是排行榜、延时队列的核心实现。常用命令ZADD key 分数1 m1 分数2 m2 ZREM key m1 ZSCORE key m1 ZINCRBY key 增量 m1 ZRANGE key start stop [WITHSCORES] ZREVRANGE key start stop [WITHSCORES] ZUNIONSTORE dest 2 k1 k2 ZINTERSTORE dest 2 k1 k2完整练习调用所有命令 注释# 1. 添加带分数的成员 ZADD rank 100 zs 90 ls 80 ww # 2. 删除成员 ZREM rank ww # 3. 获取成员分数 ZSCORE rank zs # 4. 增加成员分数 ZINCRBY rank 10 zs # 5. 正序查询低到高 ZRANGE rank 0 -1 WITHSCORES # 6. 倒序查询高到低排行榜用 ZREVRANGE rank 0 -1 WITHSCORES # 7. 准备第二个有序集合 ZADD rank2 95 zs 85 ll # 8. 并集存入新集合 ZUNIONSTORE rank:total 2 rank rank2 # 9. 交集存入新集合 ZINTERSTORE rank:common 2 rank rank2命令快速复习ZSet 命令全带 ZZADD 增数据、ZREM 删成员ZSCORE 查分数ZINCRBY 调整分数ZRANGE 正序、ZREVRANGE 倒序UNION/INTER 实现有序集合运算。总结Redis 五种数据类型各有侧重核心应用场景速记String基础存储、计数器、分布式锁Hash对象存储、购物车、配置信息List消息队列、栈/队列、最新列表Set去重、共同好友、标签系统ZSet排行榜、延时队列、权重排序