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/7/24 6:26:16 阅读更多 →
Codex、Claude Code 跑一夜,API 账单为什么超预算?先查这 5 类请求

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

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

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

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

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

2026/7/24 6:26:13 阅读更多 →

最新新闻

汽车级超低功耗MCU MSP430G2x53-Q1:从内核到外设的嵌入式设计精解

汽车级超低功耗MCU MSP430G2x53-Q1:从内核到外设的嵌入式设计精解

1. 项目概述:为什么汽车电子需要“超低功耗”?在很多人印象里,汽车电子似乎总是和“大电流”、“高功率”联系在一起,毕竟车上动辄12V的铅酸电池和上百安培的启动电流,看起来并不缺电。但如果你真正深入到车身控制模块…

2026/7/24 7:27:28 阅读更多 →
AI论文助手:文献分析与写作导航系统解析

AI论文助手:文献分析与写作导航系统解析

1. 项目概述:当学术研究遇上AI导航去年指导本科生论文时,有个场景让我印象深刻:一位学生抱着三十多篇文献来找我,眼睛通红地说"老师,我看了两周文献还是理不清头绪"。这种学术迷航现象在本科阶段尤为常见——…

2026/7/24 7:27:28 阅读更多 →
企业级本地RAG系统:Ollama+Qwen3.5+OpenClawbot实践

企业级本地RAG系统:Ollama+Qwen3.5+OpenClawbot实践

1. 项目概述:本地RAG系统的企业级落地实践最近在帮一家金融机构搭建内部知识问答系统时,遇到了一个典型需求:既要保证敏感数据不出内网,又要实现类似ChatGPT的智能问答体验。经过多轮技术选型,最终确定了基于OllamaQwe…

2026/7/24 7:27:28 阅读更多 →
RAG技术解析:构建高效智能问答系统的关键架构

RAG技术解析:构建高效智能问答系统的关键架构

1. 大语言模型智能问答的核心架构解析当我们需要构建一个真正实用的智能问答系统时,单纯依赖大语言模型(LLM)的生成能力往往会出现"一本正经胡说八道"的情况。这正是RAG(Retrieval-Augmented Generation)技术诞生的背景。我在实际项目中发现,一…

2026/7/24 7:27:28 阅读更多 →
大语言模型后训练技术演进:从RLHF到Agentic RL

大语言模型后训练技术演进:从RLHF到Agentic RL

1. 技术演进背景解析大语言模型(LLM)的后训练(Post-training)技术在过去两年经历了爆炸式发展。从最初的监督微调(SFT)到基于人类反馈的强化学习(RLHF),再到直接偏好优化…

2026/7/24 7:27:28 阅读更多 →
MSP430F16x到F261x迁移实战:硬件改动、固件重写与避坑指南

MSP430F16x到F261x迁移实战:硬件改动、固件重写与避坑指南

1. 项目概述与迁移价值如果你手头有一个基于TI MSP430F16x系列MCU(比如经典的F169)的老项目,现在因为芯片停产、成本优化或者想提升性能,需要迁移到新一代的MSP430F261x上,那你来对地方了。这活儿我干过不止一次&#…

2026/7/24 7:26:27 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻