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" 开头的键 
