当前位置: 首页 > news >正文

Redis 数据类型命令详解

Redis 数据类型命令详解


一、String(字符串)

一个 key 对应一个值,最基础的类型。能存字符串、数字、二进制。

典型场景:缓存数据、计数器、分布式锁、存 token/验证码。

命令解释示例
SET key value存值SET name "zhangsan"
GET key取值GET name
MSET k1 v1 k2 v2批量存MSET a 1 b 2 c 3
MGET k1 k2批量取MGET a b
INCR key/DECR key自增/自减 1INCR views
INCRBY key n/DECRBY key n自增/自减 nINCRBY score 10
SETNX key value不存在才存(分布式锁)SETNX lock:order 1
SETEX key s value存值并设过期(秒)SETEX code 300 "123456"
GETSET key value取旧值,设新值GETSET counter 0

二、Hash(哈希)

一个 key 下挂多个 field-value,就像 Java 的 Map 或数据库里的一行。

典型场景:存用户信息、商品属性、配置项。

命令解释
HSET key f v/HMSET key f1 v1 f2 v2设置字段
HGET key f/HMGET key f1 f2获取字段
HGETALL key获取全部字段和值
HKEYS key/HVALS key只取字段名 / 只取值
HEXISTS key f判断字段是否存在
HDEL key f删除字段
HINCRBY key f n给字段值 +n
HLEN key字段个数

三、List(列表)

有序、可重复的字符串队列,底层是双向链表。两头都能塞、两头都能拿。

典型场景:消息队列、最新动态列表、时间线。

命令解释
LPUSH key v/RPUSH key v左/右插入
LPOP key/RPOP key左/右弹出
LRANGE key 0 -1查看全部(-1 表示最后一个)
LREM key n v删除 n 个指定值
LTRIM key start stop只保留范围内的,其余删除
BRPOP key timeout阻塞弹出,等到有新元素才返回(做消息队列用)

记忆:L = Left,R = Right,Push = 塞,Pop = 拿。


四、Set(集合)

无序、不重复的字符串集合。重点是集合运算

典型场景:标签、去重、抽奖、共同好友。

命令解释
SADD key m/SREM key m添加/删除成员
SMEMBERS key查看所有成员
SISMEMBER key m判断是否在集合里
SCARD key元素个数
SINTER k1 k2交集→ 共同好友
SUNION k1 k2并集→ 合并去重
SDIFF k1 k2差集→ 我有你没有
SRANDMEMBER key n随机取 n 个(不删除)
SPOP key n随机弹出 n 个(会删除,抽奖用)

五、Sorted Set(有序集合)

Set + 每个成员绑定一个分数(score),自动按分数排序。

典型场景:排行榜、延迟队列(时间戳做分数)、带权重的标签。

命令解释
ZADD key score m添加成员及分数
ZREM key m删除成员
ZRANGE key 0 9升序查 Top 10(分数最低)
ZREVRANGE key 0 9降序查 Top 10(分数最高)
ZRANGEBYSCORE key min max按分数范围查
ZSCORE key m查某成员分数
ZRANK key m/ZREVRANK key m查成员排名
ZCARD key成员总数
ZCOUNT key min max分数范围内的成员数
ZINCRBY key n m给成员加 n 分
ZREMRANGEBYRANK key 0 9按排名范围删除

六、Bitmap(位图)

把字符串当位数组用,每个 bit 只能是 0 或 1,极其省内存。

典型场景:签到打卡(一年 365 天只占 46 字节)、在线状态、用户标签(是否 VIP)。

命令解释
SETBIT key offset 0/1设置第 offset 位的值
GETBIT key offset获取第 offset 位的值
BITCOUNT key统计有多少个 1(如签到总天数)
BITPOS key 0/1第一个 0 或 1 出现的位置
BITOP AND/OR/XOR result k1 k2多个位图做位运算

七、HyperLogLog(基数统计)

概率型数据结构,估算不重复元素的个数。每个 key 固定 12KB,误差约 0.81%。

典型场景:页面 UV 统计、独立 IP 计数——数据量巨大、允许少量误差的场景。

命令解释
PFADD key element添加元素
PFCOUNT key估算不重复个数
PFMERGE dest k1 k2合并多个 HLL

注意:它不保存原始数据,取不出具体有哪些元素,只能拿到一个近似计数。


八、GEO(地理位置)

在 ZSet 基础上实现的地理位置索引,存经纬度,按距离排序。

典型场景:附近的人、附近商家、配送范围判断。

命令解释
GEOADD key lon lat member添加位置
GEOPOS key m获取经纬度
GEODIST key m1 m2 km计算两点距离
GEORADIUS key lon lat r km查指定坐标半径内的位置
GEORADIUSBYMEMBER key m r km查指定成员半径内的位置
GEOHASH key m获取 GeoHash 值

常用参数:WITHDIST返回距离,WITHCOORD返回坐标,ASC/DESC排序。如GEORADIUS shops 121.47 31.23 5 km WITHDIST ASC查 5 公里内店铺并按距离排序。


通用命令

命令解释
DEL key删除 key
EXISTS keykey 是否存在
EXPIRE key s设过期时间(秒)
TTL key查还剩多少秒(-1 永不过期,-2 不存在)
TYPE key查数据类型
SCAN cursor分批遍历 key(生产环境用这个,别用 KEYS

一张图总结

String: key → "hello" ← 缓存、计数、锁 Hash: key → {name:"zs", age:25} ← 存对象 List: key → ["a","b","c"] ← 队列、时间线 Set: key → {"a","b","c"} ← 去重、共同好友 ZSet: key → {"a":100, "b":80} ← 排行榜 Bitmap: key → 01001100... ← 签到、状态标记(省内存) HyperLogLog: key → ≈12000 ← UV 统计(省内存) Geo: key → {(lon,lat):"name"} ← 附近的人
类型有序?可重复?典型场景
String--缓存、计数、锁
Hashfield 不重复存对象
List插入顺序可重复消息队列、时间线
Set不可重复标签、共同好友
ZSet按分数不可重复排行榜
Bitmap按 offset0/1签到、状态
HyperLogLog--UV、去重计数
Geo按距离不可重复附近的人、LBS
http://www.jsqmd.com/news/916290/

相关文章:

  • 抖音短视频无水印下载技术解析:从网页解析到桌面应用的完整实现方案
  • ChatGPT如何解答奇葩谜题:从原理到实践的全方位解析
  • 手把手教你:在戴尔R730XD上为Windows Server 2019配置NIC组合与Hyper-V
  • CPAL脚本避坑指南:TestcaseFail和TestCaseSkipped用不对,小心你的测试结果全乱套
  • QMCDecode:QQ音乐加密格式转换方案实现指南
  • AMD Ryzen SMU调试工具实战指南:深度优化CPU性能的5个核心场景
  • 硬核盘点!2026AI论文写作工具大盘点(覆盖 99% 毕业论文需求)
  • 基于ESP32-C3与太阳能供电的物联网植物监测系统全解析
  • OpenClaw代码注释自动生成与优化:适配企业规范,告别手动写注释
  • 3步完成CPU单核稳定性测试:CoreCycler终极指南
  • COM3D2.MaidFiddler:免费实时角色编辑器终极指南 [特殊字符]
  • WechatDecrypt微信消息解密完整指南:三步解锁你的聊天记录
  • 基于TL494的300W开关电源设计:从原理到调试全解析
  • 量子计算硬件基准测试:原理、指标与实践指南
  • Unity3D坦克大战实战:手把手教你用UGUI和刚体组件实现敌人AI与血条系统
  • 商务送礼海参指南:送礼有面子又不踩雷
  • 用导电材料与微控制器打造地面互动版西蒙游戏:从电路原理到Scratch编程实践
  • KMS智能激活脚本:3分钟永久激活Windows与Office的终极指南
  • AI心智得分实战指南:如何用搜极星掌握品牌AI话语权
  • C语言数组10秒搞懂!从原理到代码,新手一看就会
  • Claude NPV分析私密白皮书首次流出:含17个行业基准折现率数据库+政策变动弹性系数表
  • 机器人舵机供电方案:多路可调电源设计与避坑指南
  • MoE 训练为什么一降路由温度就开始前期更稳却后期专家固化:从 Router Temperature 到 Entropy Floor 的工程实战
  • 南昌黄金上门回收平台推荐2026 - 黄金回收
  • 猫抓Cat-Catch技术架构解析与实战指南:浏览器资源嗅探的现代解决方案
  • 论文查重真的有那么可怕吗?用书匠策AI免费查重,三分钟搞懂全流程
  • 从技术布道到行业偶像:解析山姆·奥特曼的AI领导力与OpenAI崛起
  • GTA5线上小助手:新手也能轻松上手的洛圣都全能工具箱
  • JS and CSS Clock:三权分立 + 0.1秒价值千万,这才是专业前端
  • 构建您的个人游戏云:Sunshine开源游戏串流服务器完全指南