Redis 是一个高效的开源键值对存储数据库,提供了丰富的指令来进行数据操作、事务处理、持久化管理等。以下是常用的 Redis 指令汇总,按功能分类:
1. 字符串操作
- SET key value: 设置键
key
的值为value
。 - GET key: 获取键
key
的值。 - DEL key: 删除键
key
。 - INCR key: 键
key
对应的值加 1(值必须是整数)。 - DECR key: 键
key
对应的值减 1(值必须是整数)。 - APPEND key value: 在现有的值后附加
value
字符串。 - MSET key1 value1 key2 value2 …: 批量设置多个键值对。
- MGET key1 key2 …: 批量获取多个键的值。
2. 哈希操作
- HSET key field value: 设置哈希表
key
中field
的值为value
。 - HGET key field: 获取哈希表
key
中field
的值。 - HDEL key field: 删除哈希表
key
中的field
。 - HGETALL key: 获取哈希表
key
中所有的键值对。 - HINCRBY key field increment: 将哈希表
key
中field
的值加上increment
(整数类型)。 - HMSET key field1 value1 field2 value2 …: 批量设置哈希表中的多个字段值。
- HMGET key field1 field2 …: 批量获取哈希表中的多个字段的值。
3. 列表操作
- LPUSH key value1 value2 …: 向列表
key
的左端插入一个或多个元素。 - RPUSH key value1 value2 …: 向列表
key
的右端插入一个或多个元素。 - LPOP key: 移除并返回列表
key
左端的元素。 - RPOP key: 移除并返回列表
key
右端的元素。 - LLEN key: 获取列表
key
的长度。 - LRANGE key start stop: 获取列表
key
中指定范围内的元素。 - LSET key index value: 设置列表
key
中指定位置的元素。 - LREM key count value: 删除列表中指定数量的值。
4. 集合操作
- SADD key member1 member2 …: 向集合
key
中添加一个或多个成员。 - SREM key member1 member2 …: 从集合
key
中移除一个或多个成员。 - SMEMBERS key: 获取集合
key
中的所有成员。 - SISMEMBER key member: 判断元素是否是集合
key
的成员。 - SCARD key: 获取集合
key
中的成员数量。 - SUNION key1 key2 …: 获取一个或多个集合的并集。
- SINTER key1 key2 …: 获取一个或多个集合的交集。
5. 有序集合操作
- ZADD key score1 member1 score2 member2 …: 向有序集合
key
中添加一个或多个成员。 - ZREM key member1 member2 …: 从有序集合
key
中移除一个或多个成员。 - ZRANGE key start stop: 获取有序集合
key
中指定范围内的成员,按分数从低到高排序。 - ZREVRANGE key start stop: 获取有序集合
key
中指定范围内的成员,按分数从高到低排序。 - ZINCRBY key increment member: 增加有序集合中成员的分数。
- ZCARD key: 获取有序集合
key
中的成员数量。 - ZSCORE key member: 获取有序集合
key
中成员的分数。
6. 事务操作
- MULTI: 开始一个事务块。
- EXEC: 执行事务块中的所有命令。
- DISCARD: 放弃事务块中的所有命令。
- WATCH key1 key2 …: 监视一个或多个键,键的值发生变化时,事务将被中止。
7. 键操作
- EXISTS key: 检查键
key
是否存在。 - TTL key: 获取键
key
的生存时间(以秒为单位)。 - PERSIST key: 移除键
key
的生存时间,使其成为永久键。 - RENAME key newkey: 重命名键
key
为newkey
。 - KEYS pattern: 查找符合模式的所有键。
- SCAN cursor [MATCH pattern] [COUNT count]: 遍历数据库中的键。
8. 持久化操作
- SAVE: 执行同步保存快照。
- BGSAVE: 在后台异步保存快照。
- BGREWRITEAOF: 异步重写 AOF 文件。
- LASTSAVE: 返回上次成功保存到磁盘的时间。
- CONFIG GET parameter: 获取 Redis 配置项的值。
- CONFIG SET parameter value: 设置 Redis 配置项的值。
9. 发布/订阅
- PUBLISH channel message: 向频道
channel
发布消息。 - SUBSCRIBE channel1 channel2 …: 订阅一个或多个频道。
- UNSUBSCRIBE channel1 channel2 …: 取消订阅一个或多个频道。
10. Lua 脚本
- EVAL script numkeys key1 key2 …: 执行 Lua 脚本。
- EVALSHA sha1 numkeys key1 key2 …: 根据 SHA1 校验和执行 Lua 脚本。
11. 服务器管理
- INFO: 获取 Redis 服务器的各种信息。
- MONITOR: 实时监控 Redis 服务器的所有请求。
- FLUSHDB: 删除当前数据库中的所有键。
- FLUSHALL: 删除所有数据库中的所有键。
- SLAVEOF host port: 设置 Redis 实例为主节点或从节点。
这些指令只是 Redis 提供的部分常见操作。具体操作的细节、参数以及应用场景需要根据具体需求来使用,Redis 的文档提供了更深入的说明。