以下是 Redis 的常用操作命令大全,涵盖了键值操作、字符串、哈希、列表、集合、有序集合、发布/订阅、事务等多个方面的操作。
1. 通用键命令
命令 | 说明 |
---|
SET key value | 设置指定 key 的值 |
GET key | 获取指定 key 的值 |
DEL key | 删除指定的 key |
EXISTS key | 检查 key 是否存在 |
EXPIRE key seconds | 设置 key 的过期时间(秒) |
TTL key | 查看 key 的剩余生存时间(秒) |
KEYS pattern | 查找符合给定模式的 key |
RENAME oldkey newkey | 重命名 key |
TYPE key | 查看 key 的数据类型 |
PERSIST key | 移除 key 的过期时间,使其永久存在 |
2. 字符串操作
命令 | 说明 |
---|
SET key value | 设置 key 的值 |
GET key | 获取 key 的值 |
SETEX key seconds value | 设置 key 的值并指定过期时间(秒) |
INCR key | 将 key 的值加1(自增) |
DECR key | 将 key 的值减1(自减) |
APPEND key value | 追加字符串到 key 的值末尾 |
STRLEN key | 返回 key 所储存的字符串值的长度 |
MSET key1 value1 key2 value2 | 同时设置多个 key 的值 |
MGET key1 key2 ... | 获取多个 key 的值 |
SETNX key value | 当 key 不存在时,设置 key 的值 |
3. 哈希操作
命令 | 说明 |
---|
HSET key field value | 向哈希表 key 中的字段 field 赋值 |
HGET key field | 获取哈希表 key 中指定字段的值 |
HGETALL key | 获取哈希表 key 中所有字段和值 |
HDEL key field | 删除哈希表 key 中的指定字段 |
HEXISTS key field | 检查哈希表 key 中是否存在指定字段 |
HLEN key | 获取哈希表 key 中字段的数量 |
HMSET key field1 value1 field2 value2 ... | 同时为哈希表 key 设置多个字段的值 |
HMGET key field1 field2 ... | 获取哈希表 key 中多个字段的值 |
HINCRBY key field increment | 为哈希表 key 中的指定字段值加上增量 |
4. 列表操作
命令 | 说明 |
---|
LPUSH key value | 在列表的左端(头部)插入值 |
RPUSH key value | 在列表的右端(尾部)插入值 |
LPOP key | 移除并返回列表的头元素 |
RPOP key | 移除并返回列表的尾元素 |
LLEN key | 返回列表 key 的长度 |
LRANGE key start stop | 返回列表 key 中指定区间内的元素 |
LINDEX key index | 返回列表 key 中,指定下标的元素 |
LSET key index value | 设置列表 key 下标为 index 的元素值 |
LREM key count value | 移除列表中与 value 相等的元素,count 为移除的数量 |
5. 集合(Set)操作
命令 | 说明 |
---|
SADD key value | 向集合 key 中添加元素 |
SREM key value | 移除集合 key 中的指定元素 |
SMEMBERS key | 返回集合 key 中的所有元素 |
SISMEMBER key value | 检查 value 是否是集合 key 的成员 |
SCARD key | 返回集合 key 中元素的数量 |
SDIFF key1 key2 ... | 返回集合 key1 与其他集合的差集 |
SINTER key1 key2 ... | 返回集合 key1 与其他集合的交集 |
SUNION key1 key2 ... | 返回集合 key1 与其他集合的并集 |
6. 有序集合(Sorted Set)操作
命令 | 说明 |
---|
ZADD key score value | 向有序集合 key 中添加元素及其分数 |
ZREM key value | 移除有序集合 key 中的指定元素 |
ZRANGE key start stop [WITHSCORES] | 返回有序集合 key 中,指定区间内的元素,按分数升序排列 |
ZREVRANGE key start stop [WITHSCORES] | 返回有序集合 key 中,指定区间内的元素,按分数降序排列 |
ZINCRBY key increment value | 为有序集合 key 中的指定元素的分数加上增量 |
ZSCORE key value | 返回有序集合 key 中,元素 value 的分数 |
ZRANK key value | 返回有序集合 key 中,指定元素的排名(按分数升序) |
ZCOUNT key min max | 返回有序集合 key 中,分数在 [min, max] 区间内的元素个数 |
7. 发布/订阅(Pub/Sub)操作
命令 | 说明 |
---|
PUBLISH channel message | 将消息 message 发送到指定的频道 channel |
SUBSCRIBE channel1 channel2 ... | 订阅一个或多个频道 |
UNSUBSCRIBE channel1 channel2 ... | 取消订阅一个或多个频道 |
PSUBSCRIBE pattern1 pattern2 ... | 订阅符合模式 pattern 的频道 |
PUNSUBSCRIBE pattern1 pattern2 ... | 取消订阅符合模式 pattern 的频道 |
8. 事务(Transaction)操作
命令 | 说明 |
---|
MULTI | 开始一个事务 |
EXEC | 执行所有事务块中的命令 |
DISCARD | 取消事务 |
WATCH key | 监控一个或多个 key,事务执行前检查是否发生变化 |
UNWATCH | 取消监控 |
9. 持久化操作
命令 | 说明 |
---|
SAVE | 同步保存数据到磁盘 |
BGSAVE | 异步保存数据到磁盘 |
LASTSAVE | 返回上次成功保存到磁盘的时间 |
SHUTDOWN | 保存数据到磁盘并关闭服务器 |
10. 脚本(Scripting)操作
命令 | 说明 |
---|
EVAL script numkeys key [arg] | 执行 Lua 脚本 |
EVALSHA sha1 numkeys key [arg] | 执行已缓存的 Lua 脚本 |
SCRIPT LOAD script | 将 Lua 脚本加载到脚本缓存中 |
SCRIPT FLUSH | 清除所有已缓存的 Lua 脚本 |
SCRIPT EXISTS sha1 [sha2 ...] | 检查脚本是否在缓存中 |
11. 服务器操作
命令 | 说明 |
---|
INFO | 获取服务器的各种信息和统计数据 |
MONITOR | 实时监控服务器的所有请求 |
CONFIG GET parameter | 获取服务器配置 |
CONFIG SET parameter value | 修改服务器配置 |
SLOWLOG | 查看慢查询日志 |
DBSIZE | 返回当前数据库的 key 的数量 |
这些命令涵盖了 Redis 数据库的核心操作,能够帮助你处理各种数据类型的存储、查询以及事务管理等功能。