Redis 常用命令详细解析
Redis 是一个流行的开源内存数据结构存储系统,常用作数据库、缓存和消息代理。它支持多种类型的数据结构,包括字符串、哈希、列表、集合和有序集合等。以下是一些 Redis 的常用命令及其详细解析:
1. 字符串操作
SET key value
- 命令:设置指定 key 的值为 value。
- 示例:
SET username "john_doe"
GET key
- 命令:获取指定 key 的值。
- 示例:
GET username
INCR key
- 命令:将 key 中储存的数字值加一。
- 示例:
INCR page_views
DECR key
- 命令:将 key 中储存的数字值减一。
- 示例:
DECR inventory_count
MSET key value [key value ...]
- 命令:同时设置多个 key-value 对。
- 示例:
MSET name "Alice" age "30" city "New York"
MGET key [key ...]
- 命令:获取所有指定 key 的值。
- 示例:
MGET name age city
2. 哈希操作
HSET key field value
- 命令:将哈希表 key 中的字段 field 的值设为 value。
- 示例:
HSET user:1000 username "john_doe" age "30"
HGET key field
- 命令:获取存储在哈希表中指定字段的值。
- 示例:
HGET user:1000 age
HGETALL key
- 命令:获取在哈希表中指定 key 的所有字段和值。
- 示例:
HGETALL user:1000
HMSET key field value [field value ...]
- 命令:同时将多个字段-值对设置到哈希表 key 中。
- 示例:
HMSET user:1000 email "john@example.com" country "USA"
HDEL key field [field ...]
- 命令:删除一个或多个哈希表字段。
- 示例:
HDEL user:1000 age
3. 列表操作
LPUSH key value [value ...]
- 命令:将一个或多个值插入到列表头部。
- 示例:
LPUSH tasks "task1" "task2"
RPUSH key value [value ...]
- 命令:将一个或多个值插入到列表的尾部。
- 示例:
RPUSH tasks "task3" "task4"
LPOP key
- 命令:移出并返回列表的第一个元素。
- 示例:
LPOP tasks
RPOP key
- 命令:移出并返回列表的最后一个元素。
- 示例:
RPOP tasks
LRANGE key start stop
- 命令:获取列表在指定范围内的元素。
- 示例:
LRANGE tasks 0 -1
(获取所有元素)
4. 集合操作
SADD key member [member ...]
- 命令:向集合添加一个或多个成员。
- 示例:
SADD tags "redis" "database" "nosql"
SMEMBERS key
- 命令:返回集合中的所有成员。
- 示例:
SMEMBERS tags
SREM key member [member ...]
- 命令:移除集合中的一个或多个成员。
- 示例:
SREM tags "nosql"
SISMEMBER key member
- 命令:判断 member 元素是否是集合 key 的成员。
- 示例:
SISMEMBER tags "redis"
5. 有序集合操作
ZADD key score member [score member ...]
- 命令:向有序集合添加一个或多个成员,或者更新已存在成员的 score。
- 示例:
ZADD leaderboard 100 "player1"
ZRANGE key start stop [WITHSCORES]
- 命令:返回有序集中指定区间内的成员。
- 示例:
ZRANGE leaderboard 0 -1 WITHSCORES
(获取所有成员及其分数)
ZREM key member [member ...]
- 命令:移除有序集合中的一个或多个成员。
- 示例:
ZREM leaderboard "player1"
ZSCORE key member
- 命令:返回有序集中指定成员的分数。
- 示例:
ZSCORE leaderboard "player2"
6. 键操作
DEL key [key ...]
- 命令:删除一个或多个 key。
- 示例:
DEL username
EXISTS key
- 命令:检查给定 key 是否存在。
- 示例:
EXISTS username
EXPIRE key seconds
- 命令:为 key 设置过期时间(单位:秒)。
- 示例:
EXPIRE session 3600
TTL key
- 命令:返回 key 的剩余过期时间。
- 示例:
TTL session
这些命令是 Redis 的基础部分,使用它们可以进行多种数据操作,从而便利地管理数据。在实际使用中,根据需求可能会涉及更多高级功能和命令,比如事务、持久化等。