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

键(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)类型操作
列表是字符串元素的有序集合,按插入顺序排序,支持双向操作:

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]
:返回服务器信息(如memory
、server
等)。
以下为常用命令的速查表格:
命令分类 | 命令示例 | 功能说明 |
---|---|---|
键操作 | 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表示键不存在。

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