以下是 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 数据库的核心操作,能够帮助你处理各种数据类型的存储、查询以及事务管理等功能。