【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
相关文章
|
3月前
|
NoSQL Java Redis
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
|
13天前
|
监控 NoSQL Redis
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
24 3
|
3天前
|
存储 缓存 NoSQL
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
10 0
|
2月前
|
存储 消息中间件 NoSQL
Redis命令详解以及存储原理
Redis命令详解以及存储原理
|
3月前
|
存储 缓存 NoSQL
Redis 全局通用命令整理
Redis 全局通用命令整理
60 10
|
2月前
|
SQL 缓存 NoSQL
【Azure Redis 缓存】使用Azure Redis服务时候,如突然遇见异常,遇见命令Timeout performing SET xxxxxx等情况,如何第一时间查看是否有Failover存在呢?
【Azure Redis 缓存】使用Azure Redis服务时候,如突然遇见异常,遇见命令Timeout performing SET xxxxxx等情况,如何第一时间查看是否有Failover存在呢?
|
2月前
|
缓存 监控 NoSQL
【Azure Redis 缓存】Azure Redis出现了超时问题后,记录一步一步的排查出异常的客户端连接和所执行命令的步骤
【Azure Redis 缓存】Azure Redis出现了超时问题后,记录一步一步的排查出异常的客户端连接和所执行命令的步骤
|
2月前
|
缓存 NoSQL 测试技术
【Azure Redis 缓存 Azure Cache For Redis】使用Redis自带redis-benchmark.exe命令测试Azure Redis的性能
【Azure Redis 缓存 Azure Cache For Redis】使用Redis自带redis-benchmark.exe命令测试Azure Redis的性能
|
3月前
|
存储 JSON NoSQL
Redis常见命令大全
【7月更文挑战第30天】
21 3
|
3月前
|
NoSQL Redis 索引
Redis 中ZSET数据类型命令使用及对应场景总结
Redis 中ZSET数据类型命令使用及对应场景总结
49 2
下一篇
无影云桌面