【Redis常见命令】 —— 关于Redis的一点儿知识

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 【Redis常见命令】 —— 关于Redis的一点儿知识

🐳Redis常见命令

在Redis中,有多种数据结构和命令可供使用。本文将介绍Redis常见的数据结构以及各种命令的使用。

Redis数据结构介绍

💧Redis是一个高性能的键值存储系统,支持多种数据结构。以下是Redis中常用的数据结构:

  • String(字符串):存储字符串类型的值。
  • Hash(哈希表):存储键值对的无序散列表。
  • List(列表):存储一个有序的字符串元素列表。
  • Set(集合):存储字符串元素的无序集合。
  • ZSet(有序集合):存储字符串元素和对应的分值,按分值排序。

💧接下来,让我们一一介绍这些数据结构及其常见命令 ↓

通用命令

💧在使用Redis时,有一些通用命令适用于所有数据结构。以下是一些常用的通用命令示例:

命令 描述
KEYS 查看符合模板的所有key,不建议在生产环境设备上使用。
DEL key 删除指定的键。
EXISTS key 检查键是否存在。
EXPIRE key 给一个key设置有效期,有效期到期时该key会被自动删除。
TTL key 获取键的剩余过期时间(以秒为单位)。

可以通过help [command] 可以查看一个命令的具体用法!


String类型命令

💧String类型是Redis中最基本的数据结构,用于存储字符串值。以下是一些常用的String类型命令示例:

命令 描述
SET key value [EX seconds] [PX milliseconds] [NX] 设置键的值。可选参数包括过期时间(以秒或毫秒为单位)和条件选项(NX表示仅在键不存在时设置)。
GET key 获取键的值。
MSET key1 value1 [key2 value2 ...] 同时设置多个键值对。
MGET key1 [key2 ...] 获取多个键的值。
INCR key 将键的值增加1。
INCRBY key 让一个整型的key自增并指定步长,例如:incrby num 2 让num值自增2。
INCRBYFLOAT key 让一个浮点类型的数字自增并指定步长。
DECR key 将键的值减少1。
SETEX key seconds value 设置键的值,并指定过期时间(以秒为单位)。

💧SET命令参数的具体解释如下:

  • key: 键名。
  • value: 键对应的值。
  • EX seconds(可选): 设置键的过期时间(以秒为单位)。键将在指定的秒数后自动过期并被删除。
  • PX milliseconds(可选): 设置键的过期时间(以毫秒为单位)。键将在指定的毫秒数后自动过期并被删除。
  • NX(可选): 仅在键不存在时设置。如果键已经存在,则不进行设置操作。

💧例如,以下命令将在键mykey中设置值为myvalue,并同时设置过期时间为10秒:

SET mykey myvalue EX 10

Hash类型命令

💧Hash类型用于存储键值对的无序散列表,类似于Java中的HashMap结构。Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD。

命令 描述
HSET key field value 设置哈希表中字段的值。
HGET key field 获取哈希表中字段的值。
HGETALL key 获取哈希表中所有字段和对应的值。
HDEL key field1 field2 删除哈希表中的一个或多个字段。
HKEYS key 获取哈希表中所有字段名。
HVALS key 获取哈希表中所有字段值。
HSETNX key field value 仅在字段不存在时,设置哈希表中字段的值。

List类型命令

💧Redis中的List类型与Java中的LinkedList类似,可以看做是一个双向链表结构。既可以支持正向检索和也可以支持反向检索。

特征也与LinkedList类似:

  • 有序
  • 元素可以重复
  • 插入和删除快
  • 查询速度一般

💧常用来存储一个有序数据,例如:朋友圈点赞列表,评论列表等.

命令 描述
LPUSH key value1 value2 将一个或多个值插入列表的左侧。
RPUSH key value1 value2 将一个或多个值插入列表的右侧。
LRANGE key start stop 获取列表中指定范围内的元素。
LPOP key 移除并返回列表左侧的第一个元素。
RPOP key 移除并返回列表右侧的第一个元素。

Set类型命令

💧Set类型是Redis中的无序字符串元素集合,不允许重复的元素。

Set具备下列特性:

  • 无序
  • 元素不可重复
  • 查找快
  • 支持交集、并集、差集等功能
命令 描述
SADD key member1 member2 向集合中添加一个或多个成员。
SMEMBERS key 获取集合中的所有成员。
SISMEMBER key member 检查成员是否存在于集合中。
SREM key member1 member2 从集合中移除一个或多个成员。
SCARD key 获取集合中的成员数量。
SINTER key1 key2 … 求key1与key2的交集。
SDIFF key1 key2 … 求key1与key2的差集。
SUNION key1 key2 … 求key1和key2的并集。

ZSet类型命令

💧ZSet类型(有序集合)是Redis中的有序字符串元素集合,每个元素关联一个分值,根据分值排序。

ZSet具备下列特性:

  • 可排序
  • 元素不重复
  • 查询速度快
命令 描述
ZADD key score1 member1 score2 member2 向有序集合中添加一个或多个成员。
ZRANGE key start stop [WITHSCORES] 获取有序集合中指定范围内的成员。
ZSCORE key member 获取有序集合中成员的分值。
ZREM key member1 member2 从有序集合中移除一个或多个成员。
ZRANK key member 获取有序集合中指定元素的排名。
ZCARD key 获取有序集合中的成员数量。
ZCOUNT key min max 统计score值在给定范围内的所有元素的个数。
ZINCRBY key increment member 让集合中的指定元素自增,步长为指定的increment值。
ZRANGE key min max 按照score排序后,获取指定排名范围内的元素。
ZRANGEBYSCORE key min max 按照score排序后,获取指定score范围内的元素。
ZDIFF、ZINTER、ZUNION 求差集、交集、并集。
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
7天前
|
NoSQL 应用服务中间件 API
Redis是如何建立连接和处理命令的
本文主要讲述 Redis 是如何监听客户端发出的set、get等命令的。
|
2月前
|
NoSQL Java Redis
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
这篇文章介绍了Redis的基本命令,并展示了如何使用Netty框架直接与Redis服务器进行通信,包括设置Netty客户端、编写处理程序以及初始化Channel的完整示例代码。
73 1
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
|
1月前
|
存储 NoSQL Java
Redis命令:列表模糊删除详解
通过本文的介绍,我们详细探讨了如何在Redis中实现列表的模糊删除。虽然Redis没有直接提供模糊删除命令,但可以通过组合使用 `LRANGE`和 `LREM`命令,并在客户端代码中进行模糊匹配,来实现这一功能。希望本文能帮助你在实际应用中更有效地操作Redis列表。
70 0
|
2月前
|
缓存 NoSQL 测试技术
Redis如何解决频繁的命令往返造成的性能瓶颈!
Redis如何解决频繁的命令往返造成的性能瓶颈!
|
2月前
|
缓存 NoSQL Redis
Redis命令:列表模糊删除详解
Redis命令:列表模糊删除详解
90 3
|
2月前
|
NoSQL 关系型数据库 MySQL
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
本文全面阐述了Redis事务的特性、原理、具体命令操作,指出Redis事务具有原子性但不保证一致性、持久性和隔离性,并解释了Redis事务的适用场景和WATCH命令的乐观锁机制。
406 0
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
|
2月前
|
NoSQL Redis 数据安全/隐私保护
Redis 命令
10月更文挑战第15天
41 0
|
3月前
|
监控 NoSQL Redis
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
159 3
|
3月前
|
存储 缓存 NoSQL
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
83 0
|
4月前
|
存储 消息中间件 NoSQL
Redis命令详解以及存储原理
Redis命令详解以及存储原理