Redis数据类型与常用命令
Redis 数据类型与常用命令速查向接上一篇《Redis 入门指南》之后的实战篇。本文只讲最常用的五种基本数据类型和它们的常用命令配上示例方便日后直接查。一、先记住三个通用命令不管什么数据类型这几个命令都能用127.0.0.1:6379keys *# 查看当前库所有 key生产环境慎用key 多会卡127.0.0.1:6379exists name# 判断 key 是否存在存在返回 1不存在返回 0127.0.0.1:6379typename# 查看 key 的类型127.0.0.1:6379del name# 删除 key返回删除的个数127.0.0.1:6379expire name60# 给 key 设置 60 秒过期时间127.0.0.1:6379ttl name# 查看剩余过期时间秒-1 表示永不过期-2 表示已过期/不存在127.0.0.1:6379persist name# 取消过期时间变成永不过期127.0.0.1:6379renamename name2# 给 key 改名127.0.0.1:6379dbsize# 当前库 key 的数量小贴士ttl是个很好用的命令经常用来排查为什么数据没了——多半是设了过期时间。二、String字符串—— 最常用适用场景缓存、计数器、分布式锁、存 JSON 字符串注意Redis 的 String 是二进制安全的可以存文本、数字甚至图片二进制。单个 value 最大 512MB。常用命令# 基础存取 127.0.0.1:6379setname张三# 存值OK127.0.0.1:6379get name# 取值张三127.0.0.1:6379append name你好# 追加字符串返回新长度(integer)8127.0.0.1:6379strlen name# 字符串长度(integer)8# 数字操作计数器神器127.0.0.1:6379setcount1OK127.0.0.1:6379incr count# 自增 1返回 2(integer)2127.0.0.1:6379incrby count10# 增加指定值返回 12(integer)12127.0.0.1:6379decr count# 自减 1(integer)11127.0.0.1:6379decrby count5# 减少指定值(integer)6# 批量操作 127.0.0.1:6379mset k1 v1 k2 v2 k3 v3# 一次存多个OK127.0.0.1:6379mget k1 k2 k3# 一次取多个1)v12)v23)v3# 设置过期一起写更方便127.0.0.1:6379settokenabcex3600# 存值同时设置 3600 秒过期OK127.0.0.1:6379setnx lock1# 不存在才设置分布式锁核心返回 1 成功 / 0 失败(integer)1实战例子# 文章阅读量计数incr article:1001:views# 分布式锁伪代码思路setnx lock:order1ex30# 抢到锁的人才能往下走30 秒自动释放三、Hash哈希—— 存对象适用场景存用户信息、商品信息这类一个对象有多个字段的数据。比把整个对象转 JSON 存 String 更灵活可以单独改某个字段。常用命令# 存 / 取 127.0.0.1:6379hset user:1 name张三age20# 存一个 hash多个字段用 字段 值 字段 值(integer)2127.0.0.1:6379hget user:1 name# 取单个字段张三127.0.0.1:6379hgetall user:1# 取所有字段和值1)name2)张三3)age4)20127.0.0.1:6379hmget user:1 name age# 取多个字段1)张三2)20# 字段操作 127.0.0.1:6379hincrby user:1 age1# 字段值自增年龄1(integer)21127.0.0.1:6379hexists user:1 name# 字段是否存在(integer)1127.0.0.1:6379hdel user:1 age# 删除字段(integer)1127.0.0.1:6379hlen user:1# 字段数量(integer)1127.0.0.1:6379hkeys user:1# 所有字段名1)name127.0.0.1:6379hvals user:1# 所有字段值1)张三实战例子# 购物车用 hashfield 是商品 idvalue 是数量hincrby cart:user1 product:1001# 商品 100 数量 1hgetall cart:user1# 查看购物车全部四、List列表—— 有序可重复适用场景消息队列、最新消息列表、朋友圈时间线。底层是双向链表两端操作极快中间操作稍慢。常用命令# 两端插入 127.0.0.1:6379lpush mylist a b c# 从左边头部插入返回长度(integer)3127.0.0.1:6379rpush mylist d e# 从右边尾部插入(integer)5127.0.0.1:6379lrange mylist0-1# 从左到右取全部0 起点-1 表示最后一个1)c2)b3)a4)d5)e# 两端弹出队列 / 栈127.0.0.1:6379lpop mylist# 从左边弹出一个消费队列常用c127.0.0.1:6379rpop mylist# 从右边弹出一个e127.0.0.1:6379llen mylist# 列表长度(integer)3# 阻塞弹出消息队列核心127.0.0.1:6379blpop task_queue0# 左边弹出没有就阻塞等待0 表示一直等1)task_queue2)job1实战例子# 最新文章列表只保留最近 10 条lpush news:latest文章Altrim news:latest09# 只保留索引 0~9也就是最近 10 条# 简单消息队列rpush queue:taskstask1# 生产右边入队blpop queue:tasks0# 消费左边阻塞出队五、Set集合—— 无序不可重复适用场景标签、共同好友、点赞用户、去重。支持交集、并集、差集运算。常用命令# 增删查 127.0.0.1:6379sadd tags:user1javapython redis# 添加成员(integer)3127.0.0.1:6379smembers tags:user1# 查看所有成员1)java2)python3)redis127.0.0.1:6379sismember tags:user1java# 是否包含1 是 0 否(integer)1127.0.0.1:6379srem tags:user1java# 删除成员(integer)1127.0.0.1:6379scard tags:user1# 成员数量(integer)2# 集合运算重点127.0.0.1:6379sadd tags:user2 python go redis(integer)3127.0.0.1:6379sinter tags:user1 tags:user2# 交集共同标签1)python2)redis127.0.0.1:6379sunion tags:user1 tags:user2# 并集1)python2)redis3)go127.0.0.1:6379sdifftags:user1 tags:user2# 差集user1 有 user2 没有1)java# 假设 user1 还有 java实战例子# 共同好友sinter friends:userA friends:userB# 抽奖随机抽取一个中奖者srandmember lottery# 随机抽一个不删除spop lottery# 随机抽一个并删除抽完不放回六、ZSet有序集合—— 带分数的 Set适用场景排行榜、延迟队列、带权重的任务。每个成员关联一个score分数按分数从小到大排序。常用命令# 增删查 127.0.0.1:6379zadd rank100张三90李四95王五# 添加成员和分数(integer)3127.0.0.1:6379zscore rank张三# 查看某成员分数100127.0.0.1:6379zcard rank# 成员数量(integer)3# 排名查询重点127.0.0.1:6379zrange rank0-1withscores# 按分数从小到大取全部带分数1)李四2)903)王五4)955)张三6)100127.0.0.1:6379zrevrange rank0-1withscores# 按分数从大到小取全部排行榜用这个127.0.0.1:6379zrank rank张三# 某成员排名从 0 开始从小到大(integer)2127.0.0.1:6379zrevrank rank张三# 某成员排名从大到小即排行榜名次(integer)0# 分数范围查询 127.0.0.1:6379zrangebyscore rank90100# 取分数在 90~100 之间127.0.0.1:6379zcount rank90100# 统计分数在 90~100 的个数# 分数增减 127.0.0.1:6379zincrby rank10张三# 张三分数 10刷分神器110127.0.0.1:6379zrem rank李四# 删除成员(integer)1实战例子# 游戏积分排行榜前 10 名zrevrange game:rank09withscores# 文章点赞排行zincrby article:likes1article:1001zrevrange article:likes09withscores七、五种类型对比速查表类型特点典型命令常见场景String一个 key 一个值set / get / incr缓存、计数器、锁Hashkey 下有多个字段hset / hget / hgetall对象信息用户、商品List有序、可重复lpush / rpush / lrange队列、最新列表Set无序、不可重复sadd / sinter / sdiff标签、共同好友ZSet有序、带分数zadd / zrange / zincrby排行榜八、小结日常够用的命令清单# 通用 keys * / exists /type/ del / expire / ttl# String set/ get / incr / decr / mset / mget / setnx# Hash hset / hget / hgetall / hincrby / hdel / hlen# List lpush / rpush / lrange / lpop / rpop / blpop# Set sadd / smembers / sismember / sinter / sunion /sdiff# ZSet zadd / zscore / zrange / zrevrange / zincrby / zrevrank记住这张表日常工作 80% 的场景都够用了。觉得有用记得点赞收藏方便以后查阅~

相关新闻

CPT外汇:用要点方式看外汇行业合规表达,更容易形成稳定判断

CPT外汇:用要点方式看外汇行业合规表达,更容易形成稳定判断

外汇市场信息更新频繁,平台口碑的形成更依赖长期一致性:入口是否好找、说明是否前后一致、提示是否稳定出现。围绕CPT外汇,下面从稳定体验与信息呈现等角度做一次正面观察。外汇相关平台的价值,体现在长期一致性与信息呈现的细致程…

2026/9/27 11:57:19 阅读更多 →
Codex、Claude Code 跑一夜,API 账单为什么超预算?先查这 5 类请求

Codex、Claude Code 跑一夜,API 账单为什么超预算?先查这 5 类请求

凌晨让 Codex 或 Claude Code 修一个问题,早上看起来只完成了一项任务,控制台里却多出了十几次甚至更多请求。模型价格没变,用户也只点了一次,费用为什么还会超出预估? 这类问题不能只看最后一条回答。Agent 会读文件…

2026/10/10 18:24:46 阅读更多 →
HoloLens 2应用打包与部署全流程避坑指南:从Unity到设备安装

HoloLens 2应用打包与部署全流程避坑指南:从Unity到设备安装

1. 项目概述:为什么HoloLens开发总在打包安装环节“翻车”?如果你是一名Unity开发者,并且已经成功在编辑器中让一个全息立方体在你的虚拟房间里稳定旋转,那么恭喜你,你已经完成了HoloLens应用开发中最有趣、也最有成就…

2026/10/12 12:08:50 阅读更多 →

最新新闻

流放之路离线构建规划:PathOfBuilding 快速上手

流放之路离线构建规划:PathOfBuilding 快速上手

流放之路离线构建规划:PathOfBuilding 快速上手 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding PathOfBuilding(社区常称 PoB)是一款完…

2026/10/15 2:43:26 阅读更多 →
机械臂DH建模完全指南:从坐标系搭建到正运动学Python实现

机械臂DH建模完全指南:从坐标系搭建到正运动学Python实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 2:43:26 阅读更多 →
DiscordGo 实战:用 Go 编程修改 Discord 账号头像(本地文件与远程 URL 双方式)

DiscordGo 实战:用 Go 编程修改 Discord 账号头像(本地文件与远程 URL 双方式)

即时通讯后端 【免费下载链接】discordgo (Golang) Go bindings for Discord 项目地址: https://gitcode.com/gh_mirrors/di/discordgo 点击查看 免费下载 本文围绕 DiscordGo 官方示例 examples/avatar 展开,完整讲解如何通过 Go 代码将 Discord 账号&…

2026/10/15 2:43:26 阅读更多 →
嵌入式开发平台选型与调试环境搭建实战指南

嵌入式开发平台选型与调试环境搭建实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 2:43:26 阅读更多 →
基于Springboot物资捐赠和分配系统【附源码+文档】

基于Springboot物资捐赠和分配系统【附源码+文档】

💕💕作者: 米罗学长 💕💕个人简介:混迹java圈十余年,精通Java、小程序、数据库等。 💕💕各类成品Java[毕][设] 。ssm,springboot,vue等项目&#…

2026/10/15 2:43:26 阅读更多 →
基于Springboot城乡居民医疗管理系统【附源码+文档】

基于Springboot城乡居民医疗管理系统【附源码+文档】

💕💕作者: 米罗学长 💕💕个人简介:混迹java圈十余年,精通Java、小程序、数据库等。 💕💕各类成品Java[毕][设] 。ssm,springboot,vue等项目&#…

2026/10/15 2:42:26 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →