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

redis基础命令

Redis通用命令

命令 描述
KEYS pattern 查找所有符合给定模式(pattern)的key
EXISTS key 检查给定key是否存在
TYPE key 返回key所储存的值的类型
TTL key 返回给定key的剩余生存时间(TTL, time to live),以秒为单位
DEL key 该命令用于在key存在是删除key

KEYS:用于查找符合规定的key值,可以用通配符进行快速匹配,但是在生产环境下,不推荐使用,在key过多的情况下,这个命令的效率不高

127.0.0.1:6379> SET age 16
OK
127.0.0.1:6379> KEYS age
1) "age"
127.0.0.1:6379> KEYS a*
1) "age"
127.0.0.1:6379> KEYS a??
1) "age"
127.0.0.1:6379> KEYS a?
(empty array)
127.0.0.1:6379> 

EXISTS:(exists存在)

127.0.0.1:6379> EXISTS age
(integer) 1
127.0.0.1:6379> EXISTS age1
(integer) 0

String类型 (字符串)

String 是 Redis 最基础的类型,底层实现类似于 Java 的 ArrayList

  • SET (Set): 设置 key 的值。
  • GET (Get): 获取 key 的值。
  • MSET (Multiple Set): 批量设置多个键值对。
  • MGET (Multiple Get): 批量获取多个值。
  • INCR (Increment): 整数值自增 1。
  • INCRBY (Increment By): 整数值按指定步长自增。
  • SETNX (Set if Not eXists): 只有当 key 不存在时才设置(常用于分布式锁)。
  • SETEX (Set with Expire): 设置值的同时指定有效期。

# 1. 基础读写
127.0.0.1:6379> SET name Jack
OK
127.0.0.1:6379> GET name
"Jack"# 2. 自增操作
127.0.0.1:6379> SET age 20
OK
127.0.0.1:6379> INCR age      # age变成21
(integer) 21
127.0.0.1:6379> INCRBY age 5  # age增加5,变成26
(integer) 26# 3. 条件与有效期
127.0.0.1:6379> SETNX lock thread1 # 如果lock不存在则成功(返回1)
(integer) 1
127.0.0.1:6379> SETEX code 60 1234 # 设置code值为1234,60秒后自动过期
OK

Hash类型 (哈希)

Hash 特别适合存储对象,它将一个对象的多个字段(Field)存在一个 Key 中,类似于 Java 的 HashMap<String, String>

  • HSET (Hash Set): 设置哈希表字段的值。
  • HGET (Hash Get): 获取字段的值。
  • HMSET/HMGET: 批量处理多个字段。
  • HGETALL (Hash Get All): 获取所有的字段和值。
  • HKEYS/HVALS (Hash Keys/Values): 分别获取所有键或所有值。
  • HINCRBY (Hash Increment By): 让哈希表中的某个字段值自增。

Bash

# 存储用户信息
127.0.0.1:6379> HSET user:1 name "Rose" age 18
(integer) 2
127.0.0.1:6379> HGET user:1 name
"Rose"
127.0.0.1:6379> HGETALL user:1
1) "name"
2) "Rose"
3) "age"
4) "18"

List类型 (列表)

List 是一个双向链表,支持从左右两端插入或弹出元素。常用于:朋友圈点赞、消息队列。

  • LPUSH (Left Push): 从左侧插入元素。
  • RPUSH (Right Push): 从右侧插入元素。
  • LPOP (Left Pop): 从左侧弹出一个元素。
  • RPOP (Right Pop): 从右侧弹出一个元素。
  • LRANGE (List Range): 获取指定索引范围内的元素(0 -1 表示全部)。
  • BLPOP/BRPOP (Blocking Pop): 阻塞式弹出,如果没有元素会等待。

Bash

# 模拟队列(先进先出 FIFO)
127.0.0.1:6379> RPUSH queue q1 q2 q3
(integer) 3
127.0.0.1:6379> LPOP queue
"q1"# 获取全部元素
127.0.0.1:6379> LRANGE queue 0 -1
1) "q2"
2) "q3"

Set类型 (集合)

Set 是无序集合,元素唯一(不重复)。底层是 Hash 表。

  • SADD (Set Add): 添加元素。
  • SREM (Set Remove): 移除元素。
  • SCARD (Set Cardinality): 获取集合成员数(个数)。
  • SISMEMBER (Set Is Member): 判断元素是否存在。
  • SMEMBERS (Set Members): 列出所有元素。
  • SINTER / SUNION / SDIFF: 求交集、并集、差集(社交场景神器)。

127.0.0.1:6379> SADD set1 a b c c  # 自动去重,只存入 a b c
(integer) 3
127.0.0.1:6379> SISMEMBER set1 a
(integer) 1

SortedSet类型 (有序集合)

SortedSet(又叫 ZSet)在 Set 的基础上为每个元素关联了一个 ​Score(分数) ​,由此实现自动排序。底层是 ​SkipList(跳表)

  • ZADD (ZSet Add): 添加成员并指定分数。
  • ZREM (ZSet Remove): 删除成员。
  • ZSCORE (ZSet Score): 获取成员的分数。
  • ZRANK (ZSet Rank): 获取升序排名(从0开始)。
  • ZREVRANK (ZSet Reverse Rank): 获取降序排名。
  • ZRANGE (ZSet Range): 获取指定排名范围内的成员。
  • ZCOUNT (ZSet Count): 统计指定分数范围内的成员数。

# 模拟排行榜
127.0.0.1:6379> ZADD rank 850 jack 900 rose 700 tom
(integer) 3# 获取前三名(降序)
127.0.0.1:6379> ZREVRANGE rank 0 2 WITHSCORES
1) "rose"
2) "900"
3) "jack"
4) "850"
5) "tom"
6) "700"

学习建议​: Redis 命令看似多,其实很有规律:H​ 开头对应 ​Hash​,L​ 开头对应 ​List​,S​ 开头对应 ​Set​,Z​ 开头对应 ​SortedSet

这里写一下他们的区别

数据类型 英文全称 存储特征 常用场景 对应 Java 集合
String String 简单键值对,可以是字符串、整数或浮点数 缓存、计数器、Session 共享、分布式锁 String​/byte[]
Hash Hash 键值对集合(Field-Value),适合存储对象 用户信息、商品详情、购物车 HashMap
List List 双向链表,元素有序且可重复 朋友圈点赞列表、消息队列、最新动态 LinkedList
Set Set 无序集合,元素唯一,支持交并差集运算 共同好友、点赞去重、抽奖系统 HashSet
SortedSet Sorted Set (ZSet) 每个元素带有一个 Score 分数,按分数排序 排行榜、限流器、带权重的任务队列 TreeSet

http://www.jsqmd.com/news/374274/

相关文章:

  • 2025年重型货架源头厂家排行,口碑见证品质!轻型仓储仓库货架/家用仓储货架/仓储货架,重型货架生产厂家口碑排行 - 品牌推荐师
  • 2026 固态继电器 SSR 及电力电子模块行业甄选:五大实力企业推荐 华东标杆领衔 - 深度智识库
  • 探讨江苏连锁店装修费用,奥美展览价格贵不贵? - myqiye
  • 2026年衡水短视频运营团队排名,哪家更值得选且性价比高? - mypinpai
  • 微服务管理 | 配置中心的实现和使用
  • 大润发购物卡回收技巧 - 团团收购物卡回收
  • 2026厦门旧房翻新公司终极评测(行业权威数据背书)| 业主选型避坑全指南 - 品牌推荐
  • 2026瓷砖胶选购指南:揭秘ODM领域优质合作企业,罗马柱瓷砖/别墅外墙砖/纸皮外墙瓷砖/外立面背景墙,瓷砖胶产品哪个好 - 品牌推荐师
  • 山东一卡通回收技巧:避免常见陷阱 - 团团收购物卡回收
  • 别再乱找渠道!分期乐购物额度安全回收选可可收 - 可可收
  • RK RS485流控驱动配置
  • 2026年衡水AI搜索推广公司TOP10,哪家更适合你 - 工业推荐榜
  • 互联网大厂Java求职面试实战:核心技术与在线教育场景解析
  • Python 中路径拼接运算符:/(路径拼接)
  • 40 个 Agent Skills 精选资源:入门教程 + 实用工具 + 必装推荐
  • 深度探讨AND婚礼服务态度、摄像效果和灯光效果,石家庄用户怎么选 - 工业设备
  • 衡水亚云科技数字化营销服务分析,看看哪家性价比高 - 工业品牌热点
  • 2026年局域网_内网聊天软件最新推荐 - 企业数字化观察家
  • 2026年新疆值得选的旋转塔,靠谱旋转塔服务商推荐哪家 - myqiye
  • 本科生收藏!全网顶尖的降AIGC工具 —— 千笔·降AIGC助手
  • 摆脱论文困扰! AI论文网站 千笔ai写作 VS PaperRed,专科生专属神器!
  • 分析AND婚礼和同行相比优势在哪,京津冀地区办婚礼这家性价比高吗? - 工业设备
  • 想找成人本专科学历提升院校,江苏湖北开放大学靠谱吗 - mypinpai
  • 2026冲刺用!9个AI论文网站深度测评:研究生毕业论文写作与格式规范全攻略
  • 2026年航空乘务培训费用揭秘哪家价格更合理 - myqiye
  • 这份榜单够用!9个降AI率软件降AIGC网站评测对比,自考降AI率必备神器
  • 鹿优选商城想变现!这篇回收指南不能错过! - 团团收购物卡回收
  • 盘点2026年成人计算机编程培训学校,兰州白银地区靠谱的有哪些 - 工业品网
  • 衡水短视频运营制造企业怎么选择,靠谱企业大盘点 - 工业品牌热点
  • 2026年从机制到应用:全面评估治疗偏头痛曲普坦类鼻喷药品品牌司立平 - 品牌推荐