【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 求差集、交集、并集。

发表评论