Redis 常用命令详解
Redis 是一款功能强大的键值存储数据库,其丰富的命令集是开发者高效使用 Redis 的关键。本文将聚焦于 Redis 的常见命令,通过详细的功能介绍、语法说明和实际示例,帮助你快速掌握这些命令的使用方法和应用场景。
一、字符串(Strings)命令
字符串是 Redis 最基础的数据类型,一个键对应一个值。以下是字符串命令的常用操作:
1. SET key value
 
-  功能:设置键的值。 
-  语法: SET key value
-  示例: SET name "Kimi" # 设置键 name 的值为 "Kimi"
2. GET key
 
-  功能:获取键的值。 
-  语法: GET key
-  示例: GET name # 返回 "Kimi"
3. INCR key
 
-  功能:将键的值加 1,如果键不存在,则先将其值设置为 0 再加 1。 
-  语法: INCR key
-  示例: INCR counter # 如果键不存在,返回 1;否则返回当前值加 1
4. DECR key
 
-  功能:将键的值减 1,如果键不存在,则先将其值设置为 0 再减 1。 
-  语法: DECR key
-  示例: DECR counter # 如果键不存在,返回 -1;否则返回当前值减 1
5. EXPIRE key seconds
 
-  功能:为键设置过期时间(以秒为单位)。 
-  语法: EXPIRE key seconds
-  示例: EXPIRE name 3600 # 将键 name 的过期时间设置为 1 小时
6. TTL key
 
-  功能:查看键的剩余生存时间(以秒为单位),返回 -1 表示键没有设置过期时间。 
-  语法: TTL key
-  示例: TTL name # 返回键 name 的剩余生存时间(秒)
二、哈希(Hashes)命令
哈希是一种键值对集合,适用于存储对象信息。以下是哈希命令的常用操作:
1. HSET key field value
 
-  功能:为哈希表中的字段设置值。 
-  语法: HSET key field value
-  示例: HSET user:1 name "Kimi" age 25 # 设置用户信息
2. HGET key field
 
-  功能:获取哈希表中字段的值。 
-  语法: HGET key field
-  示例: HGET user:1 name # 返回 "Kimi"
3. HGETALL key
 
-  功能:获取哈希表中所有字段和值。 
-  语法: HGETALL key
-  示例: HGETALL user:1 # 返回用户的所有信息
4. HINCRBY key field increment
 
-  功能:将哈希表中字段的值增加指定的增量。 
-  语法: HINCRBY key field increment
-  示例: HINCRBY user:1 age 1 # 将用户的年龄加 1
三、列表(Lists)命令
列表是一个有序的字符串集合,可以实现栈和队列的功能。以下是列表命令的常用操作:
1. LPUSH key value
 
-  功能:将值插入到列表头部。 
-  语法: LPUSH key value
-  示例: LPUSH mylist "item1" # 在列表头部插入 "item1"
2. RPUSH key value
 
-  功能:将值插入到列表尾部。 
-  语法: RPUSH key value
-  示例: RPUSH mylist "item2" # 在列表尾部插入 "item2"
3. LPOP key
 
-  功能:移除并返回列表的第一个元素。 
-  语法: LPOP key
-  示例: 
LPOP mylist          # 返回并移除列表的第一个元素
4. LRANGE key start stop
 
-  功能:获取列表中指定范围的元素。 
-  语法: LRANGE key start stop
-  示例: LRANGE mylist 0 -1 # 获取列表中的所有元素
四、集合(Sets)命令
集合是一个无序的字符串集合,成员唯一。以下是集合命令的常用操作:
1. SADD key member
 
-  功能:将成员添加到集合中。 
-  语法: SADD key member
-  示例: SADD myset "apple" "banana" # 添加成员到集合
2. SMEMBERS key
 
-  功能:获取集合中的所有成员。 
-  语法: SMEMBERS key
-  示例: SMEMBERS myset # 返回集合中的所有成员
3. SREM key member
 
-  功能:从集合中移除成员。 
-  语法: SREM key member
-  示例: SREM myset "apple" # 从集合中移除 "apple"
4. SISMEMBER key member
 
-  功能:检查成员是否在集合中,返回 1 表示存在,0 表示不存在。 
-  语法: SISMEMBER key member
-  示例: SISMEMBER myset "apple" # 检查 "apple" 是否在集合中
五、有序集合(Sorted Sets)命令
有序集合是一个带分数的字符串集合,成员唯一,且按分数排序。以下是有序集合命令的常用操作:
1. ZADD key score member
 
-  功能:将成员及其分数添加到有序集合中。 
-  语法: ZADD key score member
-  示例: ZADD myzset 1 "apple" 2 "banana" # 添加成员及其分数
2. ZRANGE key start stop
 
-  功能:按分数从小到大获取有序集合中指定范围的成员。 
-  语法: ZRANGE key start stop
-  示例: ZRANGE myzset 0 -1 # 获取有序集合中的所有成员
3. ZSCORE key member
 
-  功能:获取成员的分数。 
-  语法: ZSCORE key member
-  示例: ZSCORE myzset "apple" # 返回 "apple" 的分数
4. ZREM key member
 
-  功能:从有序集合中移除成员。 
-  语法: ZREM key member
-  示例: ZREM myzset "apple" # 从有序集合中移除 "apple"
六、事务(Transactions)命令
Redis 事务可以将多个命令打包,然后一次性顺序执行。以下是事务命令的常用操作:
1. MULTI
 
-  功能:开始一个事务。 
-  语法: MULTI
2. EXEC
 
-  功能:执行事务中的所有命令。 
-  语法: EXEC
3. DISCARD
 
-  功能:取消事务,放弃执行事务中的命令。 
-  语法: DISCARD
示例:
MULTI
SET key1 "value1"
SET key2 "value2"
EXEC
七、键(Keys)命令
键命令用于管理 Redis 中的键。以下是键命令的常用操作:
1. DEL key
 
-  功能:删除键。 
-  语法: DEL key
-  示例: DEL name # 删除键 name
2. EXISTS key
 
-  功能:检查键是否存在,返回 1 表示存在,0 表示不存在。 
-  语法: EXISTS key
-  示例: EXISTS name # 检查键 name 是否存在
3. KEYS pattern
 
-  功能:查找所有符合给定模式的键。 
-  语法: KEYS pattern
-  示例: KEYS user* # 查找所有以 "user" 开头的键
