菜鸟科技网

Redis基本操作命令有哪些?

Redis(Remote Dictionary Server)是一款高性能的键值存储系统,常用于缓存、消息队列、会话管理等场景,掌握Redis的基本操作命令是使用它的基础,以下从常用数据类型、键操作、事务、持久化等方面详细介绍Redis的基本操作命令。

Redis基本操作命令有哪些?-图1
(图片来源网络,侵删)

键(Key)操作命令

键是Redis中唯一标识数据的标识符,常用键操作命令包括:

  • SET key value:设置键值,若键已存在则覆盖。
  • GET key:获取键对应的值,若键不存在返回nil
  • DEL key [key ...]:删除一个或多个键,返回删除的键数量。
  • EXISTS key:检查键是否存在,存在返回1,否则返回0。
  • EXPIRE key seconds:设置键的过期时间(秒),过期后键自动删除。
  • TTL key:查看键的剩余过期时间(秒),-1表示永不过期,-2表示键不存在。
  • KEYS pattern:匹配符合模式的键,如KEYS *返回所有键,KEYS user:*返回以user:开头的键(生产环境慎用,可能阻塞服务器)。
  • TYPE key:返回键存储的数据类型(如string、hash、list等)。

字符串(String)类型操作

字符串是Redis最基本的数据类型,可以存储文本、JSON、二进制数据等:

  • SETNX key value:仅在键不存在时设置,避免覆盖已有数据。
  • SETEX key seconds value:设置键值并指定过期时间。
  • INCR key:将键的值加1(值必须是整数)。
  • DECR key:将键的值减1。
  • INCRBY key increment:按指定增量增加键值。
  • APPEND key value:在键值末尾追加内容,若键不存在则创建。

哈希(Hash)类型操作

哈希是键值对集合,适合存储对象(如用户信息):

  • HSET key field value:设置哈希表中字段的值。
  • HGET key field:获取哈希表中指定字段的值。
  • HGETALL key:获取哈希表的所有字段和值。
  • HDEL key field [field ...]:删除哈表的一个或多个字段。
  • HEXISTS key field:检查字段是否存在。
  • HINCRBY key field increment:将字段的值增加指定整数。

列表(List)类型操作

列表是字符串元素的有序集合,按插入顺序排序,支持双向操作:

Redis基本操作命令有哪些?-图2
(图片来源网络,侵删)
  • LPUSH key value [value ...]:在列表左侧(头部)插入一个或多个元素。
  • RPUSH key value [value ...]:在列表右侧(尾部)插入元素。
  • LPOP key:移除并返回列表左侧第一个元素。
  • RPOP key:移除并返回列表右侧第一个元素。
  • LRANGE key start stop:获取列表指定范围的元素,0表示第一个,-1表示最后一个(LRANGE key 0 -1返回整个列表)。
  • LLEN key:返回列表长度。

集合(Set)类型操作

集合是唯一字符串元素的无序集合,支持交、并、差运算:

  • SADD key member [member ...]:向集合添加一个或多个成员(重复成员自动忽略)。
  • SMEMBERS key:返回集合中的所有成员。
  • SREM key member [member ...]:移除集合中的一个或多个成员。
  • SCARD key:返回集合成员数量。
  • SINTER key [key ...]:返回多个集合的交集。
  • SUNION key [key ...]:返回多个集合的并集。

有序集合(Sorted Set)类型操作

有序集合是唯一成员的集合,每个成员关联一个分数(score),按分数排序:

  • ZADD key score member [score member ...]:向有序集合添加成员及分数。
  • ZRANGE key start stop [WITHSCORES]:返回指定排名范围的成员(按分数升序),WITHSCORES可包含分数。
  • ZREVRANGE key start stop [WITHSCORES]:按分数降序返回成员。
  • ZSCORE key member:返回成员的分数。
  • ZINCRBY key increment member:增加成员的分数。

事务与持久化

  • 事务:MULTIT开启事务,EXEC执行事务,DISCARD取消事务,事务中的命令不会立即执行,而是按顺序执行。
  • 持久化:
    • SAVE:同步保存数据到磁盘(阻塞服务器)。
    • BGSAVE:异步保存数据(推荐)。
    • LASTSAVE:返回最后一次成功保存的时间戳。

其他常用命令

  • FLUSHDB:删除当前数据库的所有键。
  • FLUSHALL:删除所有数据库的所有键(谨慎使用)。
  • INFO [section]:返回服务器信息(如memoryserver等)。

以下为常用命令的速查表格:

命令分类 命令示例 功能说明
键操作 SET key value 设置键值
GET key 获取键值
DEL key 删除键
字符串 INCR key 键值加1
APPEND key value
哈希 HSET key field value 设置哈希字段
HGETALL key 获取哈希所有字段和值
列表 LPUSH key value 左侧插入元素
LRANGE key 0 -1 获取列表所有元素
集合 SADD key member 添加集合成员
SMEMBERS key 获取集合所有成员
有序集合 ZADD key score member 添加有序集合成员及分数
ZRANGE key 0 -1 获取有序集合成员(升序)

相关问答FAQs

Q1:Redis的键过期时间如何设置和查看?
A:使用EXPIRE key seconds命令设置键的过期时间(如EXPIRE mykey 60表示60秒后过期);通过TTL key查看剩余时间,返回值含义:正数表示剩余秒数,-1表示永不过期,-2表示键不存在。

Redis基本操作命令有哪些?-图3
(图片来源网络,侵删)

Q2:Redis事务如何保证原子性?
A:Redis事务通过MULTITEXECDISCARD实现,事务中的命令会被放入队列,EXEC执行时按顺序执行,但Redis事务不回滚(即使某个命令失败,后续命令仍会执行),因此需在业务层面确保命令的正确性。

分享:
扫描分享到社交APP
上一篇
下一篇